我不知道如何找到这些信息,到目前为止,我已经找到了一些关于将 Python 与 selenium 结合使用的教程,但没有一个涉及到这一点。我能够通过 python 运行一些基本的测试脚本来自动化 selenium,但是它只显示浏览器窗口几秒钟,然后将其关闭。我需要将浏览器输出转换为字符串/变量(理想情况下)或至少将其保存到文件中,以便 python 可以在其上执行其他操作(解析它等)..如果有人能指出我如何做到这一点的资源,我将不胜感激。谢谢
3 回答
使用Selenium Webdriver和 Python,您只需访问该.page_source
属性即可获取当前页面的来源。
例如,使用Firefox()
驱动程序:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://www.example.com/')
print(driver.page_source)
driver.quit()
Java中有一个Selenium.getHtmlSource()
方法,很可能它也可以在Python中使用。它将当前页面的源作为字符串返回,因此您可以使用它做任何您想做的事情
好的,这就是我最终这样做的方式,对于将来需要这个的任何人..
您必须使用 firefox 才能正常工作。
1)创建一个新的firefox配置文件(不是必需的,但理想的,以便将其与正常的firefox使用区分开来),有很多关于如何在谷歌上执行此操作的信息,这取决于您的操作系统您如何执行此操作
2)获取firefox插件:https ://addons.mozilla.org/en-US/firefox/addon/2704/ (这会自动保存给定域名的所有页面),您需要配置它以保存您的任何域打算自动保存。
3)然后只需启动 selenium 服务器以使用您创建的配置文件(下面是 linux 的示例)
cd /root/Downloads/selenium-remote-control-1.0.3/selenium-server-1.0.3
java -jar selenium-server.jar -firefoxProfileTemplate /path_to_your_firefox_profile/
就是这样,它现在会在 selenium 访问它们时保存给定域名的所有页面,selenium 也会创建一堆垃圾页面,所以你可以通过简单的正则表达式解析删除这些页面,这取决于你,从那里如何操作保存的页面