一尘不染

如何在webdriver中获取元素的当前内容

selenium

我一定在想这个错误。

我想在我使用Webdriver / Selenium 2访问的页面上获取元素的内容(在本例中为formfield)

这是我的损坏代码:

 Element=driver.find_element_by_id(ElementID)
 print Element
 print Element.text

结果如下:

<selenium.webdriver.remote.webelement.WebElement object at 0x9c2392c>

(请注意空白行)我知道该元素包含内容,因为我只是使用.sendkeys使用先前的命令将它们填充在其中,并且在脚本运行时可以在实际的网页上看到它们。

但我需要将内容重新放入数据中。

我该怎么读?最好以通用方式,以便我可以从各种类型的元素中提取内容。


阅读 809

收藏
2020-06-26

共1个答案

一尘不染

我相信预言是正确的。这取决于它是哪种元素。您将需要element.get_attribute('value')用于输入元素并element.text返回元素的文本节点。

您可以检查WebElement对象element.tag_name以找出它是哪种元素并返回适当的值。

这应该可以帮助您找出:

driver = webdriver.Firefox()
driver.get('http://www.w3c.org')
element = driver.find_element_by_name('q')
element.send_keys('hi mom')

element_text = element.text
element_attribute_value = element.get_attribute('value')

print element
print 'element.text: {0}'.format(element_text)
print 'element.get_attribute(\'value\'): {0}'.format(element_attribute_value)
driver.quit()
2020-06-26