我怎样才能得到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。