我一定在想这个错误。
我想在我使用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使用先前的命令将它们填充在其中,并且在脚本运行时可以在实际的网页上看到它们。
但我需要将内容重新放入数据中。
我该怎么读?最好以通用方式,以便我可以从各种类型的元素中提取内容。
我相信预言是正确的。这取决于它是哪种元素。您将需要element.get_attribute('value')用于输入元素并element.text返回元素的文本节点。
element.get_attribute('value')
element.text
您可以检查WebElement对象element.tag_name以找出它是哪种元素并返回适当的值。
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()