Python 从外部操作firefox的视图
我需要扩展一个给定的项目。我还没有找到一个理想的解决方案,这就是为什么我在这里寻求帮助。 在装有Linux的PC上,Firefox以全屏模式运行,并不断显示外部页面的内容。关注Firefox的deomen大致如下所示:Python 从外部操作firefox的视图,python,linux,firefox,sh,Python,Linux,Firefox,Sh,我需要扩展一个给定的项目。我还没有找到一个理想的解决方案,这就是为什么我在这里寻求帮助。 在装有Linux的PC上,Firefox以全屏模式运行,并不断显示外部页面的内容。关注Firefox的deomen大致如下所示: export DISPLAY=:0.0 export START_REMOTE_CONTROL=1 startproc -s -l /dev/null -u A_USER -g A_GROUP /PATH_TO_FIREFOX/firefox -private -url ww
export DISPLAY=:0.0
export START_REMOTE_CONTROL=1
startproc -s -l /dev/null -u A_USER -g A_GROUP /PATH_TO_FIREFOX/firefox -private -url www.EXTERNAL_PAGE.com -fullscreen
此外,还有一个在pc上运行的管理工具,作为PythonDjango网站实现。通过提供的站点,人们可以登录到本地网络并管理一些事情
现在应该添加什么:
在某个特定操作中,Django Web服务器(localhost/SPECIAL_页面)提供的站点应该在提到的firefox中临时显示(直到再次关闭)。
这应该通过尽可能少的改变来实现
我对标准站点没有任何影响(在示例www.EXTERNAL_PAGE.com中)。因此,我无法实现任何javascript来创建到Python Web服务器的websocket,我可以用它来表示:“现在从localhost/SPECIAL_页面加载内容。”
我的一个想法是,Firefox和Django Web服务器在同一台pc上运行,获得订单的Django Web服务器可以使用带有localhost/SPECIAL_PAGE的shell命令打开一个新选项卡。
如果特殊模式已被禁用,则此站点每半秒通过Ajax请求一次。
如果是这样,选项卡将通过Javascript关闭,并恢复原始状态
我在我自己的电脑上试过,如果这样做行得通的话。它成功了,但我注意到以下几点:Javascript不允许关闭未打开的选项卡。我在网上找到的任何解决方法都不能在我的版本上工作。
无论如何,我发现如果设置dom.allow\u scripts\u to\u close\u windows设置为true,它确实可以工作。但这不是一个好的解决方案,因为外部站点可以利用这种情况。
但如果没有更优雅的解决方案,我可以接受
不管怎样,我现在在ProjectPC上使用管理网站进行了尝试。简言之:没有成功
我用来尝试打开Django Web服务器内的选项卡的代码是:
from subprocess import call
call(["/PATH_TO_FIREFOX/firefox", "-new-tab", "localhost/SPECIAL_PAGE"])
我认为这可能与Firefox由Deomon启动有关,因此访问可能不同(-u a_USER und-g a_GROUP在调用Firefox或Django Web服务器时是相同的)
有人知道出了什么错吗?
或者有人能想象一个更优雅的解决方案吗
非常感谢您的帮助。通过启动firefox会话将授予您在firefox会话运行时的完全控制权 例如:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.python.org")
在启动web浏览器的机器上使用并运行python脚本(或django服务器)应该可以让您完成所有您想做的事情谢谢您提供的信息。但是我想避免使用新软件。如果我们没有找到其他解决方案,我可以试试。