当前位置: 首页 > news >正文

driver.find_element 找不到元素的大坑

前端使用element框架。

登录进去使用开发人员工具能看到元素,复制xpath使用find_element死活找不到。

其中一次复制的xpath 注意红色部分:

  #先点击一下输入框

 driver.find_element(By.XPATH,'/html/body/div[1]/section/section/section/main/div/div[1]/div/form/div[1]/div/div/div/div/div/input').click()
    time.sleep(1)

#再点击弹出内容选项

driver.find_element(By.XPATH,'/html/body/div[3]/div[11]/div/div/div[1]/ul/li[1]')

我也是小白只能反复试试。

直到我关闭了几个标签页,刷新了一下页面。才发现页面div元素少了好几个。

我真是服了。

原因居然是因为是多标签页,每多打开一个页面,我找的那个元素所在div,前面就会多几个div元素。

问题难找的原因有很多,比如:

  • 框架没有使用原生控件,使用input+ul 实现下拉效果,页面没有显性value值。
  • 最坑的是我要操作的那个页面是个“”新增功能"页面,必须先打开列表页才能打开这个新增页。
  • 另外框架元素的很多值都是实时变化的。

耗费4个多小时能找到问题也是比较偶然,好在问题解决了。感谢百度,感谢努力的我。

这是查找元素方法。

def find_element_by_xpath(driver, xpath):  """  使用给定的XPath查找元素。  :param driver: Selenium WebDriver的实例。  :param xpath: 要查找的元素的XPath。  :return: 如果找到了元素,则返回True;否则返回False。  """  try:  # 设置隐式等待为0毫秒(通常不推荐这样做,但根据您的需求)  # 注意:隐式等待在这里实际上不会生效,因为是在查找元素之前设置的  # 且隐式等待会被每个find_element调用重置,所以这里设置为0影响不大  driver.implicitly_wait(0)  # 尝试找到元素  driver.find_element(By.XPATH, xpath)  return True  except NoSuchElementException:  # 如果没有找到元素,则捕获异常  return False  finally:  # 注意:通常我们不会在这里关闭浏览器,因为方法可能被多次调用  # 但如果您确定每次调用后都不再需要WebDriver,可以这样做  # 这里我将其注释掉,因为通常更好的做法是在方法外部管理WebDriver的生命周期  # driver.quit()  pass  
if find_element_by_xpath(driver, '/html/body/div[3]/div[2]/div/div/div[1]/ul/li[1]/span'):  print("找到了") 
else:  print("未找到指定元素")  


http://www.mrgr.cn/news/3797.html

相关文章:

  • Qt第十七章 多线程
  • 生信圆桌x生信菜鸟团:生物信息学初学者的交流与成长社区
  • Qt/QML学习-ScrollView
  • 5. container_of 宏的定义、作用及手动实现详细解释
  • pyqt 用lamada关联信号 传递参数 循环
  • DNF攻略:护石符文体系辅助详解,VMOS云手机助攻核心玩法!
  • macOS symbol(s) not found for architecture arm64错误原因总结
  • 理解 CSS 层叠、优先级和继承——WEB开发系列15
  • springboot jar是如何启动的
  • select模型实现TCP聊天室
  • 连锁店收银系统源码-线下收银多端视频展示
  • GPT-4o微调功能现已上线
  • Redis十大数据类型
  • 【HTML】弹性盒子 (display: flex) 布局
  • web前端之选项卡的实现、动态添加类名、动态移除类名、动态添加样式、激活、tabBar
  • 南大-ICS2021 PA1~PA2.2 学习笔记记录
  • 计算机毕业设计Python深度学习房价预测 房价可视化 链家爬虫 房源爬虫 房源可视化 卷积神经网络 大数据毕业设计 机器学习 人工智能 AI
  • 如何生成随机数(通过rand函数,srand函数,time函数深入讲解)
  • BaseCTF 高校联合新生赛Week1(web)
  • Open3D mesh 模型切片