2014-01-08 24 views
17

我正在尝试使用selenium web驱动程序获取文本,这里是我的代码。请注意,我不想使用Xpath,因为在我的情况下,id在每次重新启动网页时都会发生变化,请帮助。如何使用python中的selenium web驱动程序获取文本

我的代码:

text=driver.find_element_by_class_name("current-stage").getText("my text") 

简单的HTML:

span class="current-text" id="yui_3_7_0_4_1389185744113_384">my text</span 

回答

46

你只想.text

然后,您可以验证它后你得到它,不要试图在你期望它应该有通过。

+0

即时得到这个错误 - 'webdriver的' 对象有没有属性 '的gettext' – user3121891

+0

@ user3121891,这是'.text'。 – Arran

+0

现在即时通讯使用此代码: driver.find_element_by_class_name(“当前阶段”)文本(“我的文字”) 如果文本: 打印“合格” 其他: 打印“失败” 和得到这个错误 - 'unicode'对象不可调用 – user3121891

1

找到了,答案是

driver.find_element_by_class_name("ctsymbol").text 
3

你可以做,

element = driver.find_element_by_class_name("class_name").text 

这将返回文本,之后验证。

2

感谢这是它的正确答案!

from selenium import webdriver 
from selenium.webdriver.support.ui import WebDriverWait 

driver = webdriver.Chrome("E:\\Python\\selenium\\webdriver\\chromedriver.exe") 
driver.get("https://www.tatacliq.com/global-desi-navy-embroidered-kurta/p-mp000000000876745") 
driver.set_page_load_timeout(45) 
driver.maximize_window() 
driver.implicitly_wait(2) 
driver.get_screenshot_as_file("E:\\Python\\Tatacliq.png") 
print ("Executed Succesfull") 
driver.find_element_by_xpath("//div[@class='pdp-promo-title pdp-title']").click()`enter code here` 
SpecialPrice =driver.find_element_by_xpath("//div[@class='pdp-promo-title pdp-title']").text 
print(SpecialPrice) 
9

的Python

element.text 

的Java

element.getText() 

C#

element.Text 

红宝石

element.text 
相关问题