jmq*_*jmq 5 selenium vnc vnc-server
设置:
我在 Debian 机器上有一个 Python/Selenium/Chromedriver 脚本,可以对网页上的文本框进行数据输入。失败的代码非常简单:
element = browser.find_element_by_path('//input[@name="ReqDocID"]')
element.clear()
element.send_keys(doc_id) # doc_id is a 3 character string
Run Code Online (Sandbox Code Playgroud)
当我从 Windows 机器设置到 Debian 的 VNC 会话并从 X-windows 桌面上的 xterm 运行脚本时,doc_id 中的字符被随机删除。在条目之间添加延迟没有任何区别。网页在使用JS输入时不会修改文本框的内容。使用 Chrome 和 headlesschrome 都会出现问题。我确认我有一个新版本的 chromedriver(修复了一个下拉键问题)并且我的键盘设置为英语以避免另一个已知问题。
最后经过几个小时的故障排除后,我发现了一些有趣的事情。如果我在 Windows 机器上使用 Putty 直接通过 ssh 进入 Debian(没有 X-windows,没有 VNC),然后运行脚本,它可以完美运行。当我从 VNC 桌面运行相同的脚本时,由于字符被删除,它每次都会失败。
有谁知道为什么通过 VNC 连接运行脚本会有所作为?谢谢!
TightVNC 存在一个与在 chromedriver 中发送密钥相关的未解决错误。问题 1509:TightVNC:sendKeys()
作为讨论中建议的解决方法,它在vnc4server上不可重现。你可以尝试一下。
| 归档时间: |
|
| 查看次数: |
346 次 |
| 最近记录: |