gpt4 book ai didi

python - Selenium Python 3.4.3 登录 Gmail : Password section

转载 作者:太空宇宙 更新时间:2023-11-03 16:43:11 27 4
gpt4 key购买 nike

下面是我到目前为止的代码。它应该访问该网站并使用所有必要的详细信息登录,但我不断收到大量错误!我不明白错误隐藏在哪里,任何看到它的人请帮忙。谢谢!

    from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

browser = webdriver.Firefox()
from selenium.webdriver.common.keys import Keys
#browser.get('https://mail.yahoo.com')
browser.get('https://accounts.google.com/ServiceLogin?sacu=1&scc=1&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F&hl=en&service=mail#identifier')

emailElem = browser.find_element_by_id('Email')
emailElem.send_keys('email_address')
nextButton = browser.find_element_by_id('next')
nextButton.click()
passwordElem = browser.find_element_by_id('Passwd')

wait = WebDriverWait(browser, 10)
passwordElem = wait.until(EC.visibility_of_element_located((By.ID, "Passwd")))
passwordElem.clear()
passwordElem.send_keys('12345')

SignIn = browser.find_element_by_id('signIn')
SignIn.click()

#passwordElem.clear()
#passwordElem.send_keys('12345')
#SignIn = browser.find_elements_by_id('signIn')
#SignIn.click()
#passwordElem.submit()

这是我收到的错误:

Traceback (most recent call last):
File "C:/Users/hp-450/Desktop/Automating_Gmail.py", line 15, in <module>
passwordElem = browser.find_element_by_id('Passwd')
File "C:\Python34\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 266, in find_element_by_id
return self.find_element(by=By.ID, value=id_)
File "C:\Python34\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 744, in find_element
{'using': by, 'value': value})['value']
File "C:\Python34\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 233, in execute
self.error_handler.check_response(response)
File "C:\Python34\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: {"method":"id","selector":"Passwd"}
Stacktrace:
at FirefoxDriver.prototype.findElementInternal_ (file:///C:/Users/hp-450/AppData/Local/Temp/tmp3awlgy5b/extensions/fxdriver@googlecode.com/components/driver-component.js:10770)
at FirefoxDriver.prototype.findElement (file:///C:/Users/hp-450/AppData/Local/Temp/tmp3awlgy5b/extensions/fxdriver@googlecode.com/components/driver-component.js:10779)
at DelayedCommand.prototype.executeInternal_/h (file:///C:/Users/hp-450/AppData/Local/Temp/tmp3awlgy5b/extensions/fxdriver@googlecode.com/components/command-processor.js:12661)
at DelayedCommand.prototype.executeInternal_ (file:///C:/Users/hp-450/AppData/Local/Temp/tmp3awlgy5b/extensions/fxdriver@googlecode.com/components/command-processor.js:12666)
at DelayedCommand.prototype.execute/< (file:///C:/Users/hp-450/AppData/Local/Temp/tmp3awlgy5b/extensions/fxdriver@googlecode.com/components/command-processor.js:12608)

最佳答案

输入电子邮件并提交表单后,wait for the password field to be visible :

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# wait for the password field to be visible
wait = WebDriverWait(browser, 10)
passwordElem = wait.until(EC.visibility_of_element_located((By.ID, "Passwd")))
passwordElem.clear()
passwordElem.send_keys('12345')

SignIn = browser.find_element_by_id('signIn')
SignIn.click()

另请注意,您必须使用 find_element_by_id() 而不是 find_elements_by_id() 方法来找到“登录”按钮。

关于python - Selenium Python 3.4.3 登录 Gmail : Password section,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36602897/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com