不同登录界面的问题
来源:5-6 实现多窗口切换
MR小五
2021-02-17
老师我的代码,在登录界面小弹框中输入用户名和密码就会报错,如下
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get(“https://www.imooc.com/”)
driver.find_element_by_id(“js-signin-btn”).click()
driver.find_element_by_name(“email”).send_keys(“")
driver.find_element_by_name(“password”).send_keys("”)
driver.find_element_by_class_name(“moco-btn”).click()
time.sleep(2)
driver.get(“https://www.imooc.com/user/setbindsns”)
报错信息
"D:\python project lianxi01\WebDriver\venv\Scripts\python.exe" “D:/python project lianxi01/WebDriver/open_windows.py"
Traceback (most recent call last):
File “D:/python project lianxi01/WebDriver/open_windows.py”, line 6, in
driver.find_element_by_name(“email”).send_keys(“")
File “D:\python project lianxi01\WebDriver\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py”, line 496, in find_element_by_name
return self.find_element(by=By.NAME, value=name)
File “D:\python project lianxi01\WebDriver\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py”, line 978, in find_element
’value’: value})[‘value’]
File “D:\python project lianxi01\WebDriver\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py”, line 321, in execute
self.error_handler.check_response(response)
File “D:\python project lianxi01\WebDriver\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py”, line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {“method”:“name”,“selector”:“email”}
(Session info: chrome=88.0.4324.150)
(Driver info: chromedriver=2.35.528161 (5b82f2d2aae0ca24b877009200ced9065a772e73),platform=Windows NT 10.0.18363 x86_64)
但是我按照老师的慕课网的登录界面就可以正常执行,代码如下:
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get(“https://www.imooc.com/user/newlogin/from_url/”)
driver.find_element_by_name(“email”).send_keys("”)
driver.find_element_by_name(“password”).send_keys(”****")
driver.find_element_by_class_name(“moco-btn”).click()
time.sleep(2)
driver.get(“https://www.imooc.com/user/setbindsns”)
我不明白的是,为啥在小弹窗的登录界面执行到第六行就会报错,但是在老师给的全屏界面的登录界面就能正常执行成功呢?
1回答
-
driver.find_element_by_name(“email”).send_keys(“") 你看你这个
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {“method”:“name”,“selector”:“email”}
他报错是说email去找元素没找到。1、有可能你弹窗 元素没有加载完毕 你可以等待一下 2、就是模态框的问题
022021-02-18
相似问题