使用Python的Selenium,如何在运行脚本后获取页面输出?

时间:2010-08-26 00:22:48

标签: python selenium browser-automation

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

3 个答案:

答案 0 :(得分: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()

答案 1 :(得分:2)

好的,所以这就是我最后这样做的方式,对于将来需要这个的人来说......

你必须使用firefox才能工作。

1)创建一个新的firefox配置文件(不是必需但非常理想,以便将其与普通的firefox使用分开),有很多关于如何在google上执行此操作的信息,这取决于您的操作系统如何执行此操作

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也会创建一堆垃圾页面,所以你可以通过一个简单的正则表达式解析来删除它们,这取决于你,那里有如何操纵保存的页面

答案 2 :(得分:2)

Java中有一个Selenium.getHtmlSource()方法,很可能它也可以在Python中使用。它以字符串形式返回当前页面的源代码,因此您可以随心所欲地执行任何操作