find_element不打印实际文本

时间:2016-02-18 16:48:31

标签: python-2.7 selenium pyvirtualdisplay

from pyvirtualdisplay import Display
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time


display = Display(visible=0, size=(800, 600))
display.start()

driver = webdriver.Firefox()
driver.get('http://www.espn.go.com')
driver.implicitly_wait(10)
print driver.find_element_by_class_name("timestamp")
driver.quit()
display.stop()

我的结果是

<selenium.webdriver.remote.webelement.WebElement (session="7b9bac74-fc4e-436f-ba2b-f723bc1e4abd", element="{e91179d6-990c-463f-b56b-a2a38fabecdb}")>

而不是时间戳:ex:3h

它为一切做到这一点,我得到了奇怪的会话和元素代码而不是实际的文本。即使我改为另一个元素或尝试不同的网站。此外,即使我使用print driver.find_element_by_xpath("//*[@class='timestamp']")

1 个答案:

答案 0 :(得分:2)

您看到的内容是 WebElement对象字符串表示。在Python-Selenium中调用任何find_element_by_*方法时会返回WebElement实例。

相反,您打算获得text

driver.find_element_by_class_name("timestamp").text