我试图在Python中使用Selenium来保存MacOS Firefox上的网页.
到目前为止,我已经设法点击COMMAND S弹出SAVE AS窗口.然而,
我不知道如何:
>更改文件的目录,
>更改名称
文件,和
>单击SAVE AS按钮.
有人可以帮忙吗?
下面是我用来单击COMMAND S的代码:
ActionChains(browser).key_down(Keys.COMMAND).send_keys("s").key_up(Keys.COMMAND).perform()
此外,我使用这种方法的原因是我遇到Unicode编码错误: –
>将page_source写入html文件并且
>将废弃的信息存储到csv文件中.
file_object = open(completeName, "w")
html = browser.page_source
file_object.write(html)
file_object.close()
写入csv文件:
csv_file_write.writerow(to_write)
错误:
UnicodeEncodeError: ‘ascii’ codec can’t encode character u’\xf8′ in
position 1: ordinal not in range(128)
解决方法:
你想要实现的是Selenium无法做到的.打开的对话框不是Selenium可以与之交互的对象.
您可以执行的收尾操作是收集page_source,它将为您提供单个页面的完整HTML并将其保存到文件中.
import codecs
completeName = os.path.join(save_path, file_name)
file_object = codecs.open(completeName, "w", "utf-8")
html = browser.page_source
file_object.write(html)
如果你真的需要保存整个网站,你应该使用像AutoIT这样的工具.这样就可以与保存对话框进行交互.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。