2017-09-04 110 views
1

我试图用python-selenium脚本点击gmail主页面右上角的“Sign In”标签。我用firebug/firepath来查找正确的xpath为这个类,它似乎工作正常,而使用浏览器工具,但脚本试图找到使用xpath相同的元素时失败。如果您能指出我正确的方向,我将不胜感激。谢谢!无法在硒脚本中找到xpath元素

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

PS:我是相对新的硒。所以如果我以错误的方式处理这个问题,请原谅我的无知。

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() 
+0

建议使用chrome开发工具。这个'xpath'的东西真的很好 –

+0

你的'xpath'是正确的我认为还有一些其他问题 –

回答

0

您应该使用您在您的文章上面提供相同的网址:

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

看起来像其他重定向到另一个网址,并发出请求失败。

+0

谢谢你的建议。它看起来像重定向和一些时间问题导致了问题。有更好的方法来处理重定向场景吗? – user2483231

+0

你可以检查这[post](https://stackoverflow.com/questions/2014168/how-to-get-selenium-to-wait-for-a-transition-page-to-redirect-before-running-an )了解更多详情 – PRMoureu

+1

谢谢!我只是从脚本中截取了屏幕截图,你说得对,它完全打击了不同的网址。不知道为什么我会从同一个网址获得两个不同的重定向,但似乎会导致问题。现在很好.. – user2483231