问题遇到的现象和发生背景
想自动登录蝉大师
问题相关代码,请勿粘贴截图
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver import ChromeOptions
option = ChromeOptions()
option.add_experimental_option('excludeSwitches', ['enable-automation'])
option.add_experimental_option("detach", True)
web = webdriver.Chrome() #打开浏览器
web.get("https://www.chandashi.com/new/apps/keyword?appId=1230981419&country=cn")
全屏浏览器
web.maximize_window()
点击登录
web.find_element(By.XPATH,'//*[@id="app"]/div[2]/div/div[2]/div/div[2]/div[2]/div/div[1]/div/div/div/button').click()
输入账户
web.find_element(By.XPATH,'//*[@id="site-login-popup"]/div/div[2]/div/div/div/div[2]/div[1]/div[1]/div[2]/div/input').send_keys('18482166729')
输入密码
web.find_element(By.XPATH,'//*[@id="site-login-popup"]/div/div[2]/div/div/div/div[2]/div[1]/div[2]/div[2]/div/input').send_keys('fcamessi123..')
span = web.find_element(By.ID,'nc_2_n1z')
actions = ActionChains(driver) # 行为链实例化
time.sleep(2) # 等待2秒钟
#经截图测量,滑块需要滑过的距离为300像素
actions.click_and_hold(span).move_by_offset(295, 0).perform() # 滑动
点击登录
web.find_element(By.XPATH,'//*[@id="site-login-popup"]/div/div[2]/div/div/div/div[2]/div[1]/div[4]/button').click()
运行结果及报错内容
Traceback (most recent call last):
File "D:\pythonproject\venv\share\蝉大师爬虫.py", line 26, in <module>
span = web.find_element(By.ID,'nc_2_n1z')
File "D:\pythonproject\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 855, in find_element
return self.execute(Command.FIND_ELEMENT, {
File "D:\pythonproject\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 428, in execute
self.error_handler.check_response(response)
File "D:\pythonproject\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 243, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="nc_2_n1z"]"}
(Session info: chrome=104.0.5112.102)
Stacktrace:
Backtrace:
Ordinal0 [0x00876463+2188387]
Ordinal0 [0x0080E461+1762401]
Ordinal0 [0x00723D78+802168]
Ordinal0 [0x00751880+989312]
Ordinal0 [0x00751B1B+989979]
Ordinal0 [0x0077E912+1173778]
Ordinal0 [0x0076C824+1099812]
Ordinal0 [0x0077CC22+1166370]
Ordinal0 [0x0076C5F6+1099254]
Ordinal0 [0x00746BE0+945120]
Ordinal0 [0x00747AD6+948950]
GetHandleVerifier [0x00B171F2+2712546]
GetHandleVerifier [0x00B0886D+2652765]
GetHandleVerifier [0x0090002A+520730]
GetHandleVerifier [0x008FEE06+516086]
Ordinal0 [0x0081468B+1787531]
Ordinal0 [0x00818E88+1805960]
Ordinal0 [0x00818F75+1806197]
Ordinal0 [0x00821DF1+1842673]
BaseThreadInitThunk [0x7664FA29+25]
RtlGetAppContainerNamedObjectPath [0x77057A9E+286]
RtlGetAppContainerNamedObjectPath [0x77057A6E+238]
我的解答思路和尝试过的方法
在网上找了去掉Chrome正受到自动测试软件,但还是有,然后账户密码都正确输入了,但是滑块不会滑动且我手动滑动会显示
:验证失败,点击框体重试(error:Qdcx2x)