我正在尝试运行一个Selenium脚本,这个脚本是我使用Python绑定作为可执行文件在远程无头机器上创建的。问题是,当远程执行脚本时,它们的行为不同。在
我已经完成了以下步骤:
在远程虚拟机上运行创建的独立可执行文件,它与我在上面开发和测试初始脚本的虚拟机(步骤1)完全相似。唯一的区别是它没有头。对于远程运行,我使用的是来自PSTools实用程序集的PsExec。我按以下方式运行:
在PsExec.exe文件\vmcle001iso-u rhdwa\he119712a-p密码123-h c:\dist\测试.exe
我的问题就这样开始了。我首先提到的是一些Python命令停止工作。例如,通常的Pythinexit(0)
返回错误:
Traceback (most recent call last):
File "nacs.py", line 103, in <module>
NameError: name 'exit' is not defined
但我的主要问题是一些元素无法找到或与之交互。因此,以前工作得很好的某些按钮会返回Selenium异常,例如:
^{pr2}$再次强调一下,这一切都发生在我远程运行可执行文件的时候。不过,大部分代码都按预期工作。在
任何可能导致这种行为的暗示都是非常受欢迎的。在
我觉得这些信息最好包含在评论中,但我还没有这些特权,所以这就是我目前所发现的。在
我发现this link讨论了
exit
函数——本质上,不建议不在主解释器中运行脚本,因为启动时加载的模块不多,因此没有对其进行定义。(所以它似乎并不像你想的那样总是内置的)至于第二条错误消息,似乎您的代码加载某些东西的速度比以前快/慢,因此它在加载某个元素之前到达了某些点—如果我必须猜测是什么原因导致的,那么对于} (这是一个可以单击的链接),以确保元素在那时是可单击的,而不是手动更改这些时间。如果等待不起作用并超时,也可能会受到其他影响。在
driver.sleep()
命令来说时间可能太少了。但是,我建议插入^{请随时更新您的帖子,以便我们提供更多相关信息。在
相关问题 更多 >
编程相关推荐