当调用脚本关闭时,如何将python数据传递回调用脚本,使浏览器窗口保持打开状态

mdkb

我正在尝试找到将python script2.py中的数据传递回调用脚本(script1.py)的最佳方法。我在Linux上使用Python 3。

Script1调用script2.py,然后使用Selenium打开浏览器窗口并执行某些操作。当script2结束时,浏览器保持打开状态,script1继续。然后,我想要的是能够在script1中在script2中打开的浏览器窗口上工作。

到目前为止,我还没有找到合适的方法将有关打开的浏览器窗口的信息从script2传递回script1。我认为部分原因是因为在调用script2时,script1一直等到它关闭后才继续,因此无法获取在script2中打开的变量。我也不想改变这方面。

在script1.py中,以下代码像这样调用script2:

cmd = ['python3', '/home/admin/Desktop/Python_stuff/live-scripts/script2.py']
        subprocess.Popen(cmd).wait() # Python will now wait for script to end before continuing

在script2中,以下代码首先打开浏览器(在script2关闭后当前保持打开状态),如下所示:

driver.get(targetURL)

我已经看过Pickle,但无法按照我的意愿使其工作,并且可能会在下一个尝试中使用导入JSON。但是我想知道是否缺少一种更简单的方法来实现我想要的功能。

mdkb

感谢pguardiario在评论中让我走上正轨。答案是使用script2作为模块。

我实际上已经尝试过执行此操作,但是它使我的script1崩溃,因为我在脚本的命名中使用破折号,当它们是脚本时可以很好地工作,但是由于某些原因,当它们用作模块时却不起作用,但是你也没有错误。它只是完全炸掉了脚本(在我的linux / python 3设置中就是这种情况)。

解决文件命名问题后,该解决方案非常简单。

在script1.py我现在有

import script2

然后我从第二个脚本中调用main()函数

script2.main

我不必对script2进行任何更改,它从本地文件夹运行,因此不需要其他路径设置,现在我也可以删除所有脚本调用代码。

重点是在模块命名中不要使用破折号,因为它不会给您任何错误警告,但不会导入它们。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将参数传递给源命令调用的脚本?

如何保持Python脚本输出窗口打开?

如何将** C.char数据传递回调用者的缓冲区?

僵尸浏览器在调用open函数后将无法打开窗口

当用户导航到不同页面时,facebook如何使聊天窗口保持打开状态?

如何通过保持webDriver处于活动状态来关闭整个浏览器窗口?

关闭窗口并在Python中打开文本编辑器时保持脚本运行

Python Selenium-脚本在关闭浏览器之前会打开一个额外的窗口

如何在多合一(Edge / Firefox / Chrome)浏览器扩展的内容脚本中实现消息传递回调?

如何使用C#在Visual Studio 2017中的已编码UI测试之间打开浏览器并使它保持打开状态

将URL传递到可移动浏览器窗口的Powershell脚本

如何将数据传递到JQuery脚本

如何将返回码从Oracle脚本传递回调用它的WINDOWS Batch脚本?

跟随html链接时,如何保持CefSharp浏览器不打开2个窗口?

使HTML窗口保持打开状态,直到用户关闭它

使用脚本中的html打开浏览器窗口

我如何制作一个脚本来打开终端窗口,在其中执行命令并在Scientific Linux上保持打开状态?

关闭窗口后,进程保持打开状态

如何将所选数据传递回上一个视图控制器

打开和关闭面板时,如何防止浏览器窗口跳回到页面顶部?

用户单击关闭选项卡时如何打开新窗口浏览器?

使使用-m执行的python脚本将ipython保持打开状态

将命令从外壳脚本传递到ROOT并保持打开状态

从Web浏览器实例调用本地python脚本

Apache启动脚本使锁定文件保持打开状态

在执行测试后,Python碎片使浏览器保持打开状态

保持cmd窗口打开(从批处理脚本调用)

执行脚本后将gnuplot保持打开状态

如何将变量从模块传递回脚本?

TOP 榜单

热门标签

归档