Selenium 求助使用 pytest+python+allure 测试低代码类项目,有没有大佬可以分享一下经验呢?每次都卡在一个元素定位上

小绵羊 · 2024年12月11日 · 最后由 全栈测试开发Kevin 回复于 2024年12月12日 · 2965 次阅读

主要有以下几种情况

1.通过 seleniumIDE 可以正常定位到元素并进行模拟人工操作,但转移到自动化代码里页面压根不会执行 click 操作

2.添加了 webdriver 显式等待方法,等待时长都达到了 60s,页面还是没进行点击操作

3.通过浏览器 f12,$x("xpath 表达式") 可以正常定位到目标元素,但是在执行代码的时候还是没有进行 click

求经验或者可供参考的项目。目前编写的脚本覆盖场景也较少,健壮性也不强。求指点,感谢!!!

共收到 7 条回复 时间 点赞

打断点看一下是点击没生效,还是一直没找到元素,还是找到元素没点击,有可能是有什么阴影遮挡到了导致没点击完成,之前见过一种方法是,找到元素之后先悬浮,然后直接点击不走元素点击的那种

是否有报错,如果没有报错提示元素没找到,那就是元素定位没问题,换个点击方法

报什么错误呀,如果是 element click intercepted
方式一:
next_btn = driver.find_element(By.XPATH,'xpath')
driver.execute_script("arguments[0].click();", next_btn)# 点击
方式二:
actions = ActionChains(driver)
actions.move_to_element(element).click().perform()

switch_to.frame

元素找不到、元素没在显示区域内、被挡住了、被隐藏了、被禁用了等情况 selenium 都有相应的异常,你这没有异常信息吗?要么是捕获了异常但没有记录,要么是定位元素放在循环里了一直在找呢。

是代码压根没运行还是执行失败,根据你的描述,怀疑基本语法错误,元素定位的第一时间不要直接执行动作

描述太模糊了,没有代码和报错无法精准判断,可以看下前端的这个元素是不是有属性 isvisible:false

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册