我在笔记本电脑上运行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,但没有给我搜索结果。
如果我打开了网页,我可以手动点击 Ctrl + S ,此时我被提示将.html文件保存在我的目的地选择。然后,我可以使用文本编辑器打开它,并且我需要进行地理编码所需的所有信息。
答案 0 :(得分:0)
我认为WebDriver.page_source
是您追求的目标。请参阅documentation here。
此方法应在页面加载后执行,因此您可能必须执行“等到元素已加载”#39;功能,以帮助获取整个页面。请参阅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)