在python中,您可以打开这样的网络浏览器...
import webbrowser
webbrowser.open("stackoverflow.com")
每次调用页面时,此方法都会打开一个新选项卡。我想用文本框,图形(SVG)设备等创建一个网页,然后将变量传递给它。基本上...使用浏览器作为显示屏幕。
HTML页面将与python代码驻留在同一文件夹中...所以这可以正常工作...
import webbrowser
webbrowser.open("sample.html")
问题是...如果我将其放置在每秒更新的计时器中...我得到一个接一个的选项卡...但是我想要的是让它一次打开页面,然后将数据传递给它好像我曾经用过“提交”按钮一样……
我的代码将生成适当的文本... URL加数据...然后将其作为长URL传递。
webbrowser.open("sample.html?alpha=50&beta=100")
页面将拉出变量“ alpha”和“ beta”,然后使用 javascript 将数据推送到某些图形设备中。我以这种方式操作SVG取得了巨大的成功,例如http://askjerry.info/SVG。 (如果愿意,可以随意获取我的图形。)
是否有可能每次都更新 SINGLE 页面/窗口而不是新标签?
谢谢, 杰瑞
答案 0 :(得分:0)
使用硒模块。 .get()方法实际上只是在同一选项卡中打开给定的url,而保留旧的url。实际上,我认为甚至还有一个.refresh()。
答案 1 :(得分:0)
此问题:Refresh a local web page using Python
from selenium import webdriver
import time
driver = webdriver.Firefox()
driver.get('URL')
while True:
time.sleep(20)
driver.refresh()
driver.quit()
您可以在其中用'URL'替换url和参数-但是,如果您希望将数据从python传递到html / javascript,那么学习烧瓶或类似方法会更好。然后,您可以使用Ajax更新页面,这将使您的图形看起来更美观,并且如果您需要传递的数据不仅仅是alpha和beta,那么它将变得易于处理。