用硒保存页面

时间:2018-09-03 01:13:35

标签: python selenium google-chrome

我会再试一次。

下面的代码是我从另一个网站复制的,用户说它可以正常工作(显示屏幕截图)。Original code

我测试了代码:没有错误,但是没有保存文件。

所有问题都使用此答案来保存文件:A question!

为什么不保存页面,或者如果不保存,文件在哪里?

谢谢

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome(executable_path=r"C:\Program Files (x86)\Selenium\chromedriver.exe")

driver.get("http://www.example.com")

saveas = ActionChains(driver).key_down(Keys.CONTROL).send_keys('S').key_up(Keys.CONTROL)

saveas.perform()

2 个答案:

答案 0 :(得分:0)

如果在浏览器中执行组合键,则只会看到“保存页面”对话框。您还需要发送ALT + S来保存页面,在Windows中,默认情况下它将保存在“下载”文件夹中。

saveas = ActionChains(driver).key_down(Keys.CONTROL).send_keys('S').key_up(Keys.CONTROL).send_keys('MyDocumentName').key_down(Keys.ALT).send_keys('S').key_up(Keys.ALT)

编辑: ActionChains不可靠。不与浏览器GUI交互会更容易。

from selenium import webdriver

driver = webdriver.Chrome(executable_path=r"C:\Program Files (x86)\Selenium\chromedriver.exe")

driver.get("http://www.example.com")
with open('page.html', 'w') as f:
    f.write(driver.page_source)

答案 1 :(得分:0)

from selenium import webdriver

driver = webdriver.Chrome(executable_path=r"C:\Program Files (x86)\Selenium\chromedriver.exe")

driver.get("http://www.example.com")
with open('page.html', 'w+') as f:
    f.write(driver.page_source)
    f.close()

必须工作