Selenium selenium 无头模式无法点击弹窗中的确定按钮,元素能找到。路过的大佬帮忙看看~十分感谢~!

小白 · 2021年05月18日 · 最后由 小白 回复于 2021年05月19日 · 3908 次阅读

这个是图片上传后的裁剪确认弹窗

我代码能定位到这个元素并打印

上传成功后会多一个 img 标签,如下图

代码打印这个元素为空

正常浏览器打开是能点击到确定按钮的,但是就是无头模式下不行。

我试过点击确定和找这个 img 标签都 sleep(5),还是一样找不到

希望各位路过的大佬帮忙看看,十分感谢!

共收到 9 条回复 时间 点赞

可能是没有最大化,所以按钮不可见,好像无头模式浏览器是有范围的。

先在无头浏览器里截个图看看界面和你正常打开有啥不同吧?

try to set MaxWinodwsSize

我的代码是有做全屏显示的

陈恒捷 回复

好的!我去看看这个方法!谢谢

欧世乐 回复

有做全屏的

小白 回复

先试试只注释掉 添加无头模式的那句看看效果? 如果正常浏览器都可以,那就是无头模式的问题,建议在排查问题的时候试试有头模式先。

谢谢您的帮助,已经通过二楼所提到的截图对比找到问题了,我这个是上传图片模块,然后我加了禁用图片的属性,
cls.chrome_options.add_argument('blink-settings=imagesEnabled=false')
导致点了确定按钮一直在转圈,所以导致无法正常上传图片。取消这个属性后就正常了。

陈恒捷 回复

感谢大佬的帮助,通过你的方法找到了问题所在,现在解决了,谢谢!

小白 关闭了讨论 05月19日 14:32
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册