【问题标题】:Python selenium find_element_by_css_selector() not workingPython selenium find_element_by_css_selector()不起作用
【发布时间】:2016-02-11 13:59:42
【问题描述】:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://www.google.com')
content = driver.find_element_by_css_selector('title')
print content

我似乎无法通过任何方式获取任何内容(tag_name、class_name、name...) 这段代码有什么问题?

【问题讨论】:

  • 您遇到错误了吗?
  • 就是这个:
  • 然后它工作正常。如果您想阅读文本,那么您应该使用 print content.text 使用 WebElement,您可以执行 [此处] 提到的任何操作 (selenium-python.readthedocs.org/…)
  • 是的,但现在它没有返回任何标题
  • 你可以尝试打印content.tag_name吗?

标签: python python-2.7 selenium selenium-webdriver


【解决方案1】:

代码似乎没有任何问题。 is 元素被您的代码正确识别。

content = driver.find_element_by_css_selector('title')
print content.tag_name

这应该确认您确实找到了带有标题标签的网络元素。 content.text 不返回任何内容,因为标题元素不是页面本身的一部分。 (Java 中讨论了类似的问题here

如果您尝试打印页面标题,请使用以下驱动程序字段

print(driver.title)

【讨论】:

    【解决方案2】:

    您的输出是正确的,因为您正在尝试打印文字 Web 元素,而不是其中包含的文本。这不是错误,您只是没有打印出正确的内容。

    将最后一行更改为:

    print content.text
    

    【讨论】:

    • content.text 不返回页面的标题。
    • 如果它是您所追求的页面标题,为什么不直接使用driver.title?无需在 DOM 中查找。
    猜你喜欢
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 2018-09-30
    相关资源
    最近更新 更多