【问题标题】:Python Selenium xpath white spacesPython Selenium xpath 空格
【发布时间】:2017-05-31 08:36:54
【问题描述】:

我想从一个页面获取用户名,但由于某种原因,我无法正常工作..

浏览互联网和其他 Stackoverflow 帖子后;我认为问题在于@class 中有空格,而且它不起作用。然后我找到了另一种方式的解决方案,但问题是在第一节课之后,我也想去第二节课,这是我知道我可以用find_elements_by_xpath做到的唯一方法。

Picture to inspect element of what I want to get

在这张图片中,“text”是它应该废弃的用户名之一。

我的代码:

usernames = driver.find_elements_by_xpath("//a[@class='kik-widget card card-just-text card-with-shadow']//h3[@class='kik-widget-text-muted']")
usernames2 = [x.text for x in usernames]
print(usernames2)

非常感谢任何帮助。

【问题讨论】:

  • 从您的输入中找到了 h3 元素,您还想与您的 XPath 完全匹配什么?
  • 我希望它打印用户名,在这种情况下是“文本”。
  • 您的代码中是否有多个 h3 标签。您可以轻松使用 find_element_by_tagname() 方法并检查 getText() 方法以从那里获取文本。
  • 是的,代码中有更多的 h3 标签,find_element_by_tagname() 不是我可以去这里的选项,因为在原始帖子中还有一个 xpath,一切都一样,只是有也在课堂上提升,这就是为什么我想排除它并直接通过那个 xpath 获取,

标签: python python-3.x selenium selenium-webdriver xpath


【解决方案1】:

在您的情况下尝试使用contains 以避免空格。 例如:

//h3[contains(@class, 'kik-widget-text-muted')

包含将跳过空格。

希望这会对你有所帮助。

【讨论】:

    猜你喜欢
    • 2019-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-12
    • 2021-06-23
    • 2014-09-01
    • 2021-10-31
    • 2017-11-17
    相关资源
    最近更新 更多