2010-08-26 54 views
3

我不知道如何找到這些信息,到目前爲止,我已經找到了一些有關在Python中使用selenium的教程,但沒有太多關於這方面的內容。我能夠通過python運行一些基本的測試腳本,硒,但它只是顯示瀏覽器窗口幾秒鐘,然後關閉它..我需要將瀏覽器輸出到一個字符串/變量(理想情況下)或至少將其保存到一個文件,以便Python可以做其他事情(解析,等等)..我會很感激,如果任何人都可以指向我如何做到這一點的資源。由於Selenium with Python,如何在運行腳本之後獲取頁面輸出?

+1

後一些更多的搜索我開始拼湊的方式來做到這一點使用Firefox的配置文件,你必須創建一個Firefox配置文件,然後有硒下啓動並且你可以使用一個firefox插件,將所有頁面自動保存到指定的目錄中,一旦完成,我將在這裏發佈一個簡短的教程供參考,因爲關於此主題的信息似乎相當稀少 – Rick 2010-08-26 00:58:37

+0

ret = sel.get_string(「getBodyText」, []) – Rick 2010-08-26 21:01:37

回答

2

有一種在Java中的Selenium.getHtmlSource()方法,最有可能它也可以在Python中使用。它返回當前頁面作爲字符串的來源,所以你可以做任何你想要它

+0

是的,我發現這個信息的硒rc python文檔,我忘了看那裏,因爲我一直在看一些其他硒API,我認爲是過時的或一些因爲它似乎沒有一個這樣的方法,但簡單的答案是看看在selenium rc文檔下的語言=),它的命令是這樣的:ret = sel.get_string(「getBodyText」 ,[]) – Rick 2010-08-26 21:01:20

2

好了,這裏是我是如何結束這樣做,任何人誰在將來需要這個..

你必須使用Firefox瀏覽器這個工作。

1)創建一個新的Firefox配置文件(不是必要的,但理想的,以便從正常的Firefox使用分離),有很多關於如何在谷歌上做到這一點,這取決於你的操作系統如何做到這一點

2)獲取firefox插件:https://addons.mozilla.org/en-US/firefox/addon/2704/(這會自動保存給定域名的所有頁面),您需要對其進行配置以保存您要自動保存的域名。

3)然後就啓動硒服務器使用您創建的配置文件(下面是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/ 

這就是它,它就會立即保存對於一個給定的域名,只要硒的所有網頁訪問他們,硒也創建了一堆垃圾頁,所以你可以通過簡單的正則表達式解析和它取決於你,從那裏如何操縱保存的頁面

3

使用硒的webdriver和Python用,你只需訪問.page_source屬性來獲取當前頁面的源代碼。

例如,使用Firefox()司機:

from selenium import webdriver 


driver = webdriver.Firefox() 
driver.get('http://www.example.com/') 

print(driver.page_source) 

driver.quit() 
相關問題