2017-09-16 76 views
0

下面是我的代碼,只有一些時間出現此錯誤。令人驚訝的是,當我按行運行相同的代碼時,它按預期工作!嘗試使用python 3.6中的selenium web驅動程序自動執行web登錄時出現錯誤

from selenium import webdriver 
browser=webdriver.Chrome() 
browser.maximize_window() 
browser.get('https://www.gmail.com') 
email=browser.find_element_by_xpath('//*[@id="identifierId"]') 
email.send_keys('my email-id') 
next=browser.find_element_by_xpath('//*[@id="identifierNext"]/content/span') 
next.click() 
browser.implicitly_wait(9) 
passwd=browser.find_element_by_xpath('//*[@id="password"]/div[1]/div/div[1]/input') 
passwd.send_keys('mypassword') 
next1=browser.find_element_by_xpath('//*[@id="passwordNext"]/content/span') 
next1.click() 

錯誤:

selenium.common.exceptions.WebDriverException: Message: unknown error: Element <span class="RveJvd snByac">...</span> is not clickable at point (942, 426). Other element would receive the click: <div class=" 
ANuIbb IdAqtf" jsname="k4HEge" tabindex="0"></div> 
    (Session info: chrome=61.0.3163.91) 
    (Driver info: chromedriver=2.32.498550 (9dec58e66c31bcc53a9ce3c7226f0c1c5810906a),platform=Windows NT 6.1.7601 SP1 x86_64) 
+0

您能否請您顯示您的html代碼? // * [@ id =「password」]/div [1]/div/div [1] /輸入此xpath未找到 – zsbappa

+0

@zsbappa:密碼的HTML代碼:

回答

0

希望您的問題將得到解決

 from selenium import webdriver 
     browser=webdriver.Chrome() 
     browser.maximize_window() 
     browser.get('https://www.gmail.com') 
     email=browser.find_element_by_xpath('//*[@id="identifierId"]') 
     email.send_keys('my email-id') 
     next=browser.find_element_by_xpath('//*[@id="identifierNext"]/content/span') 
     next.click() 
     passwd=browser.find_element_by_name("password") 
     passwd.send_keys('mypassword') 
     next1=browser.find_element_by_xpath('//*[@id="passwordNext"]/content/span') 
     next1.click() 
+0

它在密碼提示時卡住了。 –

+0

maybe.Is現在解決? – zsbappa

+0

如果問題解決了,請接受答案! – zsbappa

0

下面的代碼應該制定出適合您。基本的想法是等待密碼字段,直到它準備好在DOM中

from selenium import webdriver 
browser=webdriver.Chrome() 
browser.maximize_window() 
browser.get('https://www.gmail.com') 
email=browser.find_element_by_xpath('//*[@id="identifierId"]') 
email.send_keys('my email-id') 
next=browser.find_element_by_xpath('//*[@id="identifierNext"]/content/span') 
next.click() 
passwd=browser.find_element_by_xpath("//input[@name='password']") 
wait = WebDriverWait(driver, 20) 
wait.until(EC.element_to_be_clickable(passwd)) 
passwd.send_keys('mypassword') 
next1=browser.find_element_by_xpath('//*[@id="passwordNext"]/content/span') 
next1.click() 
+0

文件「web.py」,第10行 WebDriverWait wait = new WebDriverWait(driver,20); ^ SyntaxError:無效的語法 –

+0

我通過添加隱式等待來解決錯誤。 browser.implicitly_wait(9) –

+0

太棒了..接受答案,如果它爲你工作。 – Kapil

相關問題