我正在使用Web命令来控制Sonoff。要更改设置,我在Python中运行以下行:
webbrowser.open('http://Sonoff_IP/cm?cmnd=POWER%20TOGGLE')
我正在寻找一种在同一选项卡中运行URL的方法,以免每次命令运行时都创建一个新的选项卡。
答案 0 :(得分:0)
我的理解是,如果您正在使用webbrowser.open(<url>)
,则无法避免每次都获得一个新标签;使用webbrowser可以确保它在同一浏览器窗口中打开,但不能在同一选项卡中打开。要定位同一窗口,您需要将new=0
设置为:
webbrowser.open('http://Sonoff_IP/cm?cmnd=POWER%20TOGGLE', 0);
但是,如果可以使用selenium
库打开链接,则可以。
在https://selenium-python.readthedocs.io/api.html
处阅读selenium
和webdriver
的文档
使用Selenium进行此操作的主要问题是,我认为您无法定位用户的默认Web浏览器,并且默认情况下Selenium似乎默认为Firefox,因为Selenium库中包含了轻量级的Firefox端口本身。
在Selenium中打开链接的示例如下:
from selenium import webdriver
link1="https://www.google.com"
link2="https://www.youtube.com/"
driver=webdriver.Firefox()
driver.get(link1)
driver.get(link2)
Selenium确实支持许多不同的浏览器,因此,如果您能够从webbrowser
模块或通过其他方法获取用户的默认Web浏览器,则可以使用该信息在其中打开URL。与用户的默认浏览器相同的标签。
希望这会有所帮助,祝你好运! :)
答案 1 :(得分:0)
使用JavaScript:
OpenSameTab = '<script language="JavaScript" type="text/JavaScript">window.location = \'%s\';</script>'
然后
print OpenSameTab % 'file.py'