如何通过在python中为webdriver设置首选项来保存网页?

时间:2017-03-22 13:00:30

标签: python python-3.x selenium autoit

我目前正在尝试以html格式保存网站上显示的网页。我正在使用的方法是使用autoit来预先输入Ctrl + S.按下保存为对话框时,系统会要求我输入要保存的文件的名称。这工作正常。但是,我想通过按Ctrl + S保存文件,而不是将对话框放在前面。我通过使用" set_preference"来读某处。我们能做到这一点。有人建议如何设置偏好。以下是我用于Chrome broswer的代码:

driver=Webdriver.Chrome()
driver.get('http://www.yahoo.com/')

autoit.send("{CTRL down}")
autoit.send("{CTRL down}")
autoit.send("{CTRL up}")
autoit.send("C:\\Users\\karanjuneja\\Downloads\\kj\\ABCD.mhtml")
autoit.send("{ENTER}")

目前我正在使用上面的代码,但我希望按Ctrl + S将文件保存在所需的位置。

由于 卡兰

1 个答案:

答案 0 :(得分:1)

Selenium不是为此设计的,你可以:

使用getHtmlSource并解析生成的HTML以引用外部文件,然后您可以在Selenium之外下载和存储。 使用Selenium之外的其他内容来下载和存储网站的离线版本 - 我确定如果您进行搜索,有很多工具可以执行此操作。例如,WGet可以执行递归下载(http://en.wikipedia.org/wiki/Wget#Recursive_download) 你有什么理由想使用Selenium吗?这是您的测试策略的一部分,还是只是想找到一个可以创建页面离线副本的工具?