python selenium-打印xpath值

2024-05-20 01:32:25 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的代码:

print browser.find_element_by_xpath('/html/body/div[2]/div/div/div/h1/div/small')

它打印<selenium.webdriver.remote.webelement.WebElement object at 0x02915310> 但我希望它打印实际值,即0.00

有什么想法吗?


Tags: 代码divbrowserbyremotehtmlseleniumbody
2条回答

当你找到一个元素时,你找不到元素的文本,但实际上更多。它是一个WebElement python对象,它有许多有用的操作和与之相关联的值。

所以通过调用text属性可以找到元素的文本

browser.find_element_by_xpath('/html/body/div[2]/div/div/div/h1/div/small')

我们用browser.find_element_by_xpath('/html/body/div[2]/div/div/div/h1/div/small')获取WebElement

但是对于文本,我们使用browser.find_element_by_xpath('/html/body/div[2]/div/div/div/h1/div/small').text

我猜你会想把它作为一个浮点数,所以10个它的float(browser.find_element_by_xpath('/html/body/div[2]/div/div/div/h1/div/small').text)

但是在一个WebElement中可以找到更多的其他WebElement,比如

foo = browser.find_element_by_xpath('/html/body/p') 
bar = foo.find_element_by_xpath('/input')
baz = foo.find_element_by_xpath('button')

你可以做像bar.get_attribute('name')这样的事情,它将返回一个字符串或bar.send_keys('good stuff')baz.click()

文件可以在这里找到

http://selenium-python.readthedocs.org/en/latest/api.html#module-selenium.webdriver.remote.webelement

这应该对你的内部文本有效:

print browser.find_element_by_xpath('/html/body/div[2]/div/div/div/h1/div/small').text

或者,如果要获取值:

print browser.find_element_by_xpath('/html/body/div[2]/div/div/div/h1/div/small').get_attribute("value");

相关问题 更多 >