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

Ski*_*man 56 python selenium webdriver

我一定在想这个错误.

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

这是我破碎的代码:

 Element=driver.find_element_by_id(ElementID)
 print Element
 print Element.text
Run Code Online (Sandbox Code Playgroud)

这是结果:

<selenium.webdriver.remote.webelement.WebElement object at 0x9c2392c>
Run Code Online (Sandbox Code Playgroud)

(注意空白行)我知道该元素有内容,因为我只是使用.sendkeys将它们填充到上一个命令中,我可以在脚本运行时在实际网页上看到它们.

但我需要将内容恢复为数据.

我该怎么做才能读到这个?优选地,以通用方式使得我可以从各种类型的元素中提取内容.

Isa*_*aac 70

我相信prestomanife是在正确的轨道上.这取决于它是什么类型的元素.您需要使用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()
Run Code Online (Sandbox Code Playgroud)


小智 19

element.get_attribute('innerHTML')
Run Code Online (Sandbox Code Playgroud)

  • 也获取元素:`element.get_attribute('outerHTML')` (2认同)