我怎样才能得到webdriver中的元素的当前内容
我一定在想这个错误。
我想在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将它们填充在那里,当脚本运行时,我可以在实际的网页上看到它们。
但是我需要将内容重新存入数据。
我能做些什么来读这个? 最好以通用的方式,以便我可以从不同types的元素中提取内容。
我相信prestomanifest是在正确的轨道上。 这取决于它是什么样的元素。 您将需要使用element.get_attribute('value')
作为input元素和element.text
来返回element.text
的文本节点。
您可以使用element.tag_name
检查WebElement对象,找出它是什么types的元素并返回相应的值。
这应该帮助你弄清楚:
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()
element.get_attribute('innerHTML')
我的答案是基于这样的答案: 我怎样才能得到webdriver中的元素的当前内容就像复制粘贴。
from selenium import webdriver 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)) element = driver.find_element_by_css_selector('.description.expand_description > p') 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()
在Java中它的Webelement.getText() 。 不确定关于python。