繁体   English   中英

为什么保存截图有时会在Selenium +无头Chrome + Python 2.7中被无限期阻止?

[英]Why does save screenshot sometimes block indefinitely in Selenium + headless Chrome + Python 2.7?

在我的代码中,在通过element.submit()提交表单之前和之后,我保存了屏幕截图。 我还记录了对webdriver.save_screenshot()的调用。 我看到的是, 有时保存屏幕截图会阻止该过程,直到我杀死chromedriver和/或Chrome进程。

锁定Chrome的此屏幕截图同时在Mac OS XUbuntu 16.04 Server(AW​​S EC2)上发生。 我只能在Mac上的无头 Chrome上进行复制。

关于为什么会发生任何想法或建议? 我现在的猜测是,它与element.submit()因为除了调用之后(立即),我还没有看到这种情况发生。

这不是一个理想的解决方案,但是为了避免无限期地阻塞,我使用了Python的threading模块来截取如下截图:

import threading
t = threading.Thread(target=webdriver.get_screenshot_as_file, args=[fn])
t.start()
t.join(10)
assert not t.isAlive(), "Screenshot failed"

如果发生异常,则我退出或终止浏览器进程,这也会导致线程死亡。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM