山间野源人 2022-09-02 12:22 采纳率: 100%
浏览 214
已结题

selenium定位li标签无法 定位

问题遇到的现象和发生背景

在尝试利用selenium做自动化时,利用find_element(By.XPATH,)代码定位li标签时却返回无法找到属性值的错误。click()没有属性去点击。Xpath是html网页复制来的

问题相关代码,请勿粘贴截图
btn2 = driver.find_element(By.XPATH,'/html/body/div[1]/div[3]/div[1]/div/ul[1]/li[1]')
print(btn2)
sleep(2)
btn2.click()

运行结果及报错内容
Traceback (most recent call last):
  File "C:\Users\Susu\AppData\Roaming\Python\Python310\site-packages\selenium\webdriver\remote\webdriver.py", line 976, in find_element
    return self.execute(Command.FIND_ELEMENT, {
  File "C:\Users\Susu\AppData\Roaming\Python\Python310\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\Susu\AppData\Roaming\Python\Python310\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":"xpath","selector":"/html/body/div[1]/div[3]/div[1]/div/ul[1]/li[1]"}
  (Session info: MicrosoftEdge=104.0.1293.70)

我的解答思路和尝试过的方法

翻找过网页源代码不存在iframe 和tbody标签。

img

发现第二个li标签的class值会随着我点击“章节”而加上第一个 li标签的“curNav”的值

我想要达到的结果

可以通过By.xpath 解析到第二个li标签

  • 写回答

4条回答 默认 最新

  • 零晚. 2022-09-02 12:43
    关注

    可以给出具体的url地址吗?
    根据你的问题既然定位到了xpath显示没有找到目标
    原因可能是你没有切换句柄

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 9月18日
  • 已采纳回答 9月10日
  • 修改了问题 9月2日
  • 修改了问题 9月2日
  • 展开全部

悬赏问题

  • ¥15 matlab实现基于主成分变换的图像融合。
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊