m0_72711681 2022-08-31 12:52 采纳率: 37.5%
浏览 35
已结题

关于#selenium#的问题,如何解决?

 问题遇到的现象和发生背景
想自动登录蝉大师
问题相关代码,请勿粘贴截图

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)

  • 写回答

4条回答 默认 最新

  • honestman_ 2022-08-31 13:11
    关注

    你的代码问题是没有定位到这个id: “nc_2_n1z”, 检查一下页面,是否id写错了:

        span = web.find_element(By.ID,'nc_2_n1z')
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 9月15日
  • 已采纳回答 9月7日
  • 创建了问题 8月31日

悬赏问题

  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测