2017-09-04 108 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