2017-06-20 5 views
0

私のPCノートパソコンでWindows 10を実行しています。これに関連する無限の投稿があるようです。そこには、wget、selenium、HTtrackerなどを使用するようにアドバイスされています。私がしたいのは、私が指定した現在のWebページを見て、のCtrl + Sのスクリプトを書いて、自分の書類または指定した宛先にhtmlファイルを出力するということです。現在開いているURLのPython Ctrl + S

>>> br = webdriver.Chrome() 
>>> import selenium 
>>> from selenium.webdriver.common.action_chains import ActionChains 
>>> from selenium.webdriver.common.keys import Keys 
>>> from selenium.webdriver.common.keys import Keys 
>>> br = webdriver.Chrome() 
>>> br.get(r"http://www.somewebpage.com") 
>>> save_me = ActionChains(br).key_down(Keys.CONTROL).key_down('s').key_up('s') 
>>> save_me.perform() 

次に何ですか?どこに行くの?

I also tried this: 
>>> import wget 
>>> dir = r"C:\Users\user\Documents\GIS DataBase" 
>>> url = br.current_url 
>>> wget = "wget -p -k -p {} {}".format(dir, url) 
>>> os.system(wget) 
1 

これは何を意味しますか?保存されたHTMLファイルはどこにありますか?どこにも何も見つかりません。

最後に、私はHTTrackerを実行しようとしました。それは私にすべての.jsとgiffsを与えましたが、私の検索結果はありませんでした。私は、Webページを開いている場合

は、私は手動で私が選んだの先での.htmlファイルを保存するように求めていた時点ではCtrl +Sを打つことができます。テキストエディタでこれを開くことができ、ジオコーディングに必要なすべての情報がそこにあります。

+0

?ただし、HTMLをダウンロードするだけです(JSなどは除きます)。私はあなたがファイルに書き込むことができる文字列を返すと信じています。 – ChickenFeet

+0

@ChickenFeet魅力的な作品です。ページソースを手動で表示すると、ログオン画面からhtmlが表示されただけなので、そのようには思えませんでした。これは私が必要とするものです。私は私の "definitively"コメントを取り戻す。より良いアプローチ。答えを掲示して、私はそれを確認します。ありがとう! – ShaunO

+0

喜んで助けてください。 'page_source'を実行してユニコードをサポートする前に、ページを読み込むことに関するさらなる情報については、答えを参照してください。 – ChickenFeet

答えて

1

私はWebDriver.page_sourceがあなたの後になっていると思います。 documentation hereを参照してください。

このメソッドは、ページがロードされた後に実行する必要があります。したがって、ページ全体を取得するために、「要素ロードまで待機する」機能を実行する必要があります。 wait for element Q&Aを参照してください。

ソリューション例:br.page_sourceを使用しない理由

// optionally wait for page to finish loading, then 
page_src = br.page_source.encode("utf-8") // support unicode characters 
f = open('page.html', 'w') 
f.write(page_src) 
関連する問題