【问题标题】:Unable to find xpath element in a selenium script无法在 selenium 脚本中找到 xpath 元素
【发布时间】:2017-09-04 05:28:51
【问题描述】:

我正在尝试使用 python-selenium 脚本单击 gmail 主页右上角的“登录”标签。我曾使用 firebug/firepath 为此类找到正确的 xpath,它似​​乎在使用浏览器工具时工作正常,但在脚本尝试使用 xpath 查找相同元素时失败。如果您能指出正确的方向,我将不胜感激。谢谢!

网址:https://www.google.com/gmail/about/

PS:我对 selenium 比较陌生。因此,如果我以错误的方式处理这个问题,请原谅我的无知。

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

display = Display(visible=0, size=(1920, 1080))
display.start()
browser = webdriver.Firefox()
browser.get('https://www.gmail.com')
print (browser.title)
g_login=browser.find_element_by_xpath("//a[@class='gmail-nav__nav-link gmail-nav__nav-link__sign-in']")
g_login.click()

【问题讨论】:

  • 建议使用 chrome 开发者工具。 xpath 这个东西真的很棒
  • 您的xpath 是正确的,我认为还有其他问题

标签: python selenium xpath


【解决方案1】:

您应该使用您在上面的帖子中提供的相同网址:

browser.get('https://www.google.com/gmail/about/')

看起来另一个重定向到另一个 url 并导致请求失败。

【讨论】:

  • 感谢您的建议。看起来重定向和一些时间问题导致了问题。有没有更好的方法来处理重定向场景?
  • 您可以查看post了解更多详情
  • 谢谢!我刚刚从脚本中截取了屏幕截图,你是对的,它完全访问了不同的 url。不知道为什么我会从同一个 url 收到两个不同的重定向,但这似乎确实导致了问题。现在都好了..
猜你喜欢
  • 2017-11-27
  • 2022-07-05
  • 1970-01-01
  • 2021-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多