我正在做一个简单的程序,让我填写登录表和发送电子邮件给某人。。当我在上面的时候,它只是不去更多,停在打开一些链接。在
# Practice Program!
import requests, os, bs4, webbrowser
from selenium import webdriver
url = 'http://google.com'
res = requests.get(url)
res.raise_for_status()
browser = webdriver.Firefox()
browser.get(url)
signinElem = browser.find_element_by_id('gb_70')
signinElem.click()
idElem = browser.find_element_by_id('Email')
idElem.send_keys('not_my_real_id')
idElem.submit()
pwElem = browser.find_element_by_id('Passwd')
pwElem.send_keys('not_my_pw')
pwElem.submit()
mailElem = browser.find_element_by_class_name('gb_P')
mailElem.click()
composeElem = browser.find_element_by_class_name('class="T-I J-J5-Ji T-I-KE L3')
composeElem.click()
代码运行良好,直到到达pwElem
,这让我想知道为什么signinElem
和{
我碰巧遇到了类似的情况,我可以通过一些链接,但其他的不能。这个代码有什么问题?在
我犯了以下错误
Traceback (most recent call last): File "C:/Users/Cyber/Downloads/WriteMail.py", line 22, in pwElem = browser.find_element_by_id('Passwd') File "C:\Users\Cyber\Downloads\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 269, in find_element_by_id return self.find_element(by=By.ID, value=id_) File "C:\Users\Cyber\Downloads\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 752, in find_element 'value': value})['value'] File "C:\Users\Cyber\Downloads\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 236, in execute self.error_handler.check_response(response) File "C:\Users\Cyber\Downloads\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 192, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: {"method":"id","selector":"Passwd"} Stacktrace: at (file:///C:/Users/Cyber/AppData/Local/Temp/tmpczr__hhf/extensions/fxdriver@googlecode.com/components/driver-component.js:10770) at (file:///C:/Users/Cyber/AppData/Local/Temp/tmpczr__hhf/extensions/fxdriver@googlecode.com/components/driver-component.js:10779) at (file:///C:/Users/Cyber/AppData/Local/Temp/tmpczr__hhf/extensions/fxdriver@googlecode.com/components/command-processor.js:12661) at (file:///C:/Users/Cyber/AppData/Local/Temp/tmpczr__hhf/extensions/fxdriver@googlecode.com/components/command-processor.js:12666) at (file:///C:/Users/Cyber/AppData/Local/Temp/tmpczr__hhf/extensions/fxdriver@googlecode.com/components/command-processor.js:12608)
当您提交}字段可见,如下所示:
Email
时,Paasword
字段是可见的,因此您需要实现WebDriverWait
,直到{希望它能帮到你……:)
实际上是你的错误信息说:。NoSuchElementException:消息:找不到元素
我看到google登录页面上有一个next按钮,就在Email输入框的正下方。在
因此,您可以单击“下一步”按钮找到密码输入框
相关问题 更多 >
编程相关推荐