Python Ctrl + S 当前打开 url

Python Ctrl + S for current open url

我在笔记本电脑上 运行 Windows 10。似乎有无数与此相关的帖子建议人们使用 wget、selenium、HTtracker 等等。我明确地知道,我想做的就是编写一个脚本来查看我指定的当前网页,然后执行 Ctrl+S 并将 html 文件输出到我的文档或我指定的目的地。

>>> br = webdriver.Chrome()
>>> import selenium
>>> from selenium.webdriver.common.action_chains import ActionChains
>>> from selenium.webdriver.common.keys import Keys
>>> from selenium.webdriver.common.keys import Keys
>>> br = webdriver.Chrome()
>>> br.get(r"http://www.somewebpage.com")
>>> save_me = ActionChains(br).key_down(Keys.CONTROL).key_down('s').key_up('s')
>>> save_me.perform()

然后呢?它去了哪里?

I also tried this:
>>> import wget
>>> dir = r"C:\Users\user\Documents\GIS DataBase"
>>> url = br.current_url
>>> wget = "wget -p -k -p {} {}".format(dir, url)
>>> os.system(wget)
1

它返回了一个1,这是什么意思?我保存的 html 文件在哪里?我到处都找不到任何东西。

最后,我尝试了 运行 HTTracker。它给了我所有的 .js 和 giff,但 none 我的搜索结果。

如果我打开了网页,我可以手动点击Ctrl+S,此时我会提示保存.html 文件在我选择的目的地。然后我可以用文本编辑器打开它,我需要进行地理编码的所有信息都在那里。

我想 WebDriver.page_source 就是您想要的。参见 documentation here

此方法应在页面加载后执行,因此您可能需要执行 'wait until element loaded' 函数来帮助获取整个页面。参见 wait for element Q&A

解决方案示例:

// optionally wait for page to finish loading, then
page_src = br.page_source.encode("utf-8") // support unicode characters
f = open('page.html', 'w')
f.write(page_src)