guo_wuhanbuaa 2021-12-03 23:01 采纳率: 0%
浏览 59

selenium定位class元素失败,求指导

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

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

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

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

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

该网页上有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_??哪种方式,定位哪个代码 才能定位该元素 进行点击呢?

  • 写回答

2条回答 默认 最新

  • 关注

    你的代码发的太乱了
    把你的代码用代码段</>的文本形式重新发一下,

    img

    评论 编辑记录

报告相同问题?

问题事件

  • 修改了问题 12月3日
  • 修改了问题 12月3日
  • 修改了问题 12月3日
  • 修改了问题 12月3日
  • 展开全部

悬赏问题

  • ¥15 有关类的报错,在模块里调用另一个模块的方法下的变量时出错
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格
  • ¥15 kali linux用wget archive.kali.org/archive-key.asc指令下载签名无效(失败)
  • ¥15 openHarmony 利用c++程序在dayu210开发板上实现拉取RTSP视频流并且在屏幕上显示
  • ¥15 GD32H757的can通信配置
  • ¥20 nist随机数测试的问题
  • ¥20 帮我解决这个项目,thank you各位程序员
  • ¥15 哪位能用ea软件做一下,有偿