51Testing软件测试论坛

标题: selenium3.141.0python3.8调用IE定位第二级网页class元素失败 [打印本页]

作者: 测试积点老人    时间: 2021-12-6 11:18
标题: selenium3.141.0python3.8调用IE定位第二级网页class元素失败
问题遇到的现象和发生背景

selenium 3.141.0, python 3.8 ,调用IE 打开某网页点击一个链接后 进入 按钮点击区

  1. ie=webdriver.Ie(executable_path='C:\Program Files (x86)\Internet Explorer\IEDriverServer.exe')
  2. ie.get('xxxx')
  3. ie.find_element_by_id("xxx").click()  #此命令 已成功执行
  4. ie.implicitly_wait(6)
  5. ie.find_element_by_class_name("card-punch-start-inner").click()  # 无法定位
  6. 换成 .find_element_by_class_name("card-punch-start").click() 也不行
复制代码

用F12查看定位元素的编码如下所示:

  1. <!!按钮2>
  2.     <div style="width:100%;">
  3.         <div class="card-punch">
  4.             <div style="position:absolute;width:92px;left:0;top:28px;">
  5.                 div class="card-punch-start" onclick="punchCard.signOut(this,'28373483','17:00','1'";">event
  6.                     <div class="card-punch-start-inner">
  7.                         <div styple="width:100%;padding-top:22px;">
  8.                             <span styple "front-size: 14px;color:#fff;">按钮2</span>
  9.                         </div>
  10.                     </div>
  11.                                 
复制代码
问题相关代码,请勿粘贴截图

该网页上有3个按钮,到一定时间时按钮才会处于能点击状态,
此时 能点击的 显示 div class="card-punch-start-inner ,不能点击时是card-punch-end-inner
使用 ie.find_element_by_class_name("?") .click() 无法定位该元素进行 点击该按钮

运行结果及报错内容我的解答思路和尝试过的方法

ie.find_element_by_class_name("?") .click()
此处name里面用 card-punch-start-inner 还是card-punch-start 都无法定位该元素,进行点击

我想要达到的结果

请问 该用 find_element_??哪种方式,定位哪个代码 才能定位该元素 进行点击呢?



作者: 海海豚    时间: 2021-12-7 10:01
可以设置隐性等待,等待按钮可以点击
作者: qqq911    时间: 2021-12-7 10:34
用xpath定位
作者: 郭小贱    时间: 2021-12-7 16:11
试试xpath方式呢。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2