3

我不知道如何找到这些信息,到目前为止,我已经找到了一些关于将 Python 与 selenium 结合使用的教程,但没有一个涉及到这一点。我能够通过 python 运行一些基本的测试脚本来自动化 selenium,但是它只显示浏览器窗口几秒钟,然后将其关闭。我需要将浏览器输出转换为字符串/变量(理想情况下)或至少将其保存到文件中,以便 python 可以在其上执行其他操作(解析它等)..如果有人能指出我如何做到这一点的资源,我将不胜感激。谢谢

4

3 回答 3

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()
于 2013-08-10T15:55:07.627 回答
2

Java中有一个Selenium.getHtmlSource()方法,很可能它也可以在Python中使用。它将当前页面的源作为字符串返回,因此您可以使用它做任何您想做的事情

于 2010-08-26T08:21:33.030 回答
2

好的,这就是我最终这样做的方式,对于将来需要这个的任何人..

您必须使用 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 也会创建一堆垃圾页面,所以你可以通过简单的正则表达式解析删除这些页面,这取决于你,从那里如何操作保存的页面

于 2010-08-26T01:44:29.467 回答