我的程序使用
打开某个页面webbrowser.open(url)
如何多次重新加载包含网址的标签?
我可以使用sleep
来设置在重新加载之前必须等待的时间限制。
但是之后如何刷新标签呢? (不要在新标签中打开它。)
答案 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)
^^^这实际上不起作用^^^