山间野源人 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 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?