刷新浏览器上的选项卡(Python)

时间:2014-09-23 16:51:24

标签: python

我的程序使用

打开某个页面
webbrowser.open(url)

如何多次重新加载包含网址的标签? 我可以使用sleep来设置在重新加载之前必须等待的时间限制。 但是之后如何刷新标签呢? (不要在新标签中打开它。)

2 个答案:

答案 0 :(得分:1)

我认为不可能为此实现一个适用于不同浏览器的纯python解决方案。我想到的解决方案是使用JavaScript。模糊的想法是创建一个html文件,其中包含一个iframe和你想要的url,并且有javascript用于定期重新加载iframe。然后使用webbrowser模块打开该文件。

这可能听起来很难看,但考虑到浏览器的安全问题,这可能是唯一的解决方案。

*如果您对此想法感兴趣,我可以帮助您为此编写代码。 希望这会有所帮助。

答案 1 :(得分:0)

编辑:以下是我的旧答案,我没有删除它,因为它显示了文档中的模糊性,并且可能作为某人的学习经历。

如果你阅读了文档,它们会让它听起来像是可能的。但是,这个模块是不可能的,更进一步,似乎无论你给什么选择" new"它总是在新标签页中打开。也许这种行为特定于我的系统或浏览器(IE9),但我相信它更可能是程序中的一个错误。

我进一步调查,有关于这一切的问题。你无法使用webbrowser或内置于python中的任何东西。

如果你安装了硒,你应该能够做你想做的事。

我假设您无法访问此网页的源代码,否则,您只需使用html进行刷新即可。如果您不想安装selenium并且没有源访问权限,那么您需要为网页创建一个包装器,并使用HTML / JS刷新包装器。


the docs说:

webbrowser.open(url,new = 0,autoraise = True)

使用默认浏览器显示网址。如果new为0,则尽可能在同一浏览器窗口中打开URL。如果new为1,则尽可能打开新的浏览器窗口。如果new为2,则尽可能打开新的浏览器页面(“tab”)。如果autoraise为True,则尽可能提高窗口(请注意,在许多窗口管理器下,无论此变量的设置如何,都会出现这种情况。)

...这样 刷新页面,它只是:

for i in range(refresh_limit):
    time.sleep(wait_time)
    webbrowser.open(url)

^^^这实际上不起作用^^^