kar*_*eja 2 python selenium python-3.x selenium-chromedriver
我想使用硒和python下载网页。使用以下代码:
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
chromeOptions = webdriver.ChromeOptions()
chromeOptions.add_argument('--save-page-as-mhtml')
d = DesiredCapabilities.CHROME
driver = webdriver.Chrome()
driver.get("http://www.yahoo.com")
saveas = ActionChains(driver).key_down(Keys.CONTROL)\
.key_down('s').key_up(Keys.CONTROL).key_up('s')
saveas.perform()
print("done")
Run Code Online (Sandbox Code Playgroud)
但是上述代码无法正常工作。我正在使用Windows7。是否可以打开“另存为”对话框?
谢谢卡兰
您可以使用以下代码下载页面HTML:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.yahoo.com")
with open("/path/to/page_source.html", "w") as f:
f.write(driver.page_source)
Run Code Online (Sandbox Code Playgroud)
只需替换"/path/to/page_source.html"为所需的文件和文件名路径
更新资料
如果你需要得到完整的页面的源代码(包括CSS,JS,...),你可以用以下解决方案:
pip install pyahk # from command line
Run Code Online (Sandbox Code Playgroud)
Python 码:
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
import ahk
firefox = FirefoxBinary("C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe")
from selenium import webdriver
driver = web.Firefox(firefox_binary=firefox)
driver.get("http://www.yahoo.com")
ahk.start()
ahk.ready()
ahk.execute("Send,^s")
ahk.execute("WinWaitActive, Save As,,2")
ahk.execute("WinActivate, Save As")
ahk.execute("Send, C:\\path\\to\\file.htm")
ahk.execute("Send, {Enter}")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9997 次 |
| 最近记录: |