2012-12-13 51 views
0

在我的Django應用程序中,我使用selenium來獲取頁面和BeautifulSoup來解析html。我正在使用Xvfb在Debian工作。這是代碼:Selenium BeautifulSoup奇怪的錯誤

from selenium import webdriver 
import os 

os.environ["DISPLAY"]=":99" 
driver = webdriver.Firefox() 
driver.get("www.google.it") 
text = driver.page_source 

soup = BeautifulSoup(text) 

(... some code to parse the page with ...) 

我有一個非常奇怪的錯誤:如果我搜索「湯」沒有發現。這在我的本地Windows XP機器上不會發生。在「文本」中有html。

更新:我認爲這可能是一個編解碼器/解碼錯誤,但我不知道如何處理它在這種情況下。

+0

我承擔在那裏的某個地方,你正在做'從bs4導入BeautifulSoup'是的? 'soup.prettify()'顯示什麼? – Amanda

+0

另外,當你說「如果我在湯中搜索沒有發現任何東西」...你能更具體嗎?您用來測試該搜索的代碼是什麼? – Amanda

+0

@Amanda:是的,我從bs4導入BeautifulSoup。 soup.prettify()顯示html()。我測試了這個HTML e我發現它不正確。這是錯誤。當我這樣做:湯= BeautifulSoup(文本)我得到一個「錯誤的」湯。在debian中,我的瀏覽器版本可能會出錯嗎? – RoverDar

回答

0

你實際上並沒有抓取頁面,所以沒有什麼可以解析的。 webdriver的需要一個有效的網址(以 「http://」 開頭或 「https://」)

你應該更改以下行:

​​

到:

​​