2017-10-09 4 views
0
from splinter import Browser 
from splinter.exceptions import ElementDoesNotExist 
from selenium import webdriver 
from selenium.common.exceptions import WebDriverException 

browser.find_by_tag('body').text 

browser.visit(str('http://ariismits.com/contact-us')) 
a = browser.find_by_tag('body').text 
print a 

だけのメニューを...返しこのPython Splinter呼び出しがすべての本文を返すのはなぜですか?

「u'HOME |理念| PORTFOLIO | WEは何をすべきか| BLOG |利用\ nReportマップ・エラーのnmapのデータの\ xa92017グーグル\ NTERMS \ CONTACT \ Nmapの\ nSatellite \ n \ n \ n \ n \ n \ nAriiSmits'u'HOME | PHILOSOPHY | PORTFOLIO |何をするか| BLOG | CONTACT \ n地図データ\ xa92017 Google \ n利用規約\ n地図のエラーを報告する\ n地図を\ nサテライト\ N \ N \ N \ N \ N \ N \ nAriiSmits'」

...しかし、私はページを訪問したときに、私は電話番号を見ることができ、電子メールアドレスなど

thaのではないのはなぜ回答に含まれていますか?

答えて

0

解決策が見つかりました。その答えは、コードが実行されたときに人間のユーザがテキストを見ることができなければならないということです。このウェブサイトは反応の良いデザインで、ウィンドウが小さくなると私が探していたテキストは見えませんでした。だから私が逃げたとき

browser.find_by_tag('body').text 

スプリントは本文を見ませんでした。私が探していたテキストはHTMLにありましたが、(レスポンシブデザインのため)画面上に表示されませんでしたので、Splinter(とSeleniumもこのように動作します)はテキストをキャプチャしませんでした。私の場合は

これは....

browser = Browser('chrome') 
browser.visit('http://ariismits.com/contact-us') 

、それが唯一の画面の半分である私のラップトップ上の新しいウィンドウを起動します。ウィンドウを最大化して「browser.find_by_tag( 'body')。text」を再実行すると、私が望むように機能しました。サイズ変更の詳細については、(Manipulating browser (window) size using Splinter)を参照してください。

誰か他の人に時間を節約することを願っています。 :-)

関連する問題