python - webbrowser python 在同一选项卡中打开新的 url。这有用吗?

标签 python url web browser

在我看来,Python 的网络浏览器“new=0”功能( see here )在同一个选项卡或窗口中打开一个新的 url,但它从来没有工作过。

文档使用“如果可能”之类的狡猾语言来掩盖这个问题。

有人在网络浏览器模块中看到过此功能的成功吗?是否有任何已知的解决方法可以实现此功能?

<小时/>

我尝试使用

设置网络浏览器
webbrowser.get(TYPE)

然后继续打开网址。我也尝试过使用多种不同的浏览器,但仍然没有成功。难道这已经不可能了吗?我应该只使用 Selenium 吗?

<小时/>

除此之外,我还查看过 this 7年前的帖子。我希望从那时起事情已经发生了变化,人们已经找到了解决这个问题的方法。

非常感谢任何帮助或见解。

最佳答案

我正在使用 MacOS 和 Chrome,并遇到了这个问题。我注意到,对于 MacOS,webbrowser.py 只是构建了一个小 applescript 并使用“打开位置”命令打开 URL,例如

script = 'open location "%s"' % url.replace('"', '%22') 

内置的“打开位置”命令似乎不支持在现有选项卡中打开网址

我在 applescript 示例中进行了搜索,发现您可以使用 Chrome applescript 字典中的命令在事件选项卡中打开 URL,如下所示:

tell application "Google Chrome"
    tell front window
        set URL of active tab to "www.google.com"
    end tell
end tell

我只需要在本地项目上执行此操作,因此我只是进行了覆盖“script”变量中的字符串以强制其使用后一种格式的肮脏修复,如下所示:

# script = 'open location "%s"' % url.replace('"', '%22') 
script = '''tell application "Google Chrome"
    tell front window
        set URL of active tab to "%s"
    end tell
end tell ''' % url.replace('"', '%22')

关于python - webbrowser python 在同一选项卡中打开新的 url。这有用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43175553/

相关文章:

java - Tomcat 9 : header line does not conform to RFC 7230

angularjs - 将数组传递给 angularJs 中的 $location.search

python - 在 Pytorch 中重复张量的特定列

python - flask sqlalchemy 保持 Postgres 事务空闲

html - 网络路径引用 URI/方案相对 URL

html - Twitter Bootstrap html 选项卡如何工作?

ios - 如何连续发送 2 个请求

python - 为什么 XGBRegressor 预测警告特征不匹配?

python - 在 matplotlib v1.2.1 中删除轴的工作方式与 v1.1.1 类似

javascript - Uncaught Error : Based on the provided shape, [1024,3],张量应该有 3072 个值但有 30