2

Selenium(Windows 10の場合)を使用してWebサイトからスクリーンショットを保存しようとしています。例えばスクリーンショット(Python 3.6)を保存しようとしたときにエラーが発生しました

WebDriverException: unknown error: cannot get automation extension from unknown error: page could not be found: chrome-extension://aapnijgdinlhnhlmodcfapnahmbfebeb/_generated_background_page.html

(Session info: chrome=60.0.3112.90)

(Driver info: chromedriver=2.25.426923 (0390b88869384d6eb0d5d09729679f934aab9eed),platform=Windows NT 6.1.7601 SP1 x86_64)

driver = webdriver.Chrome() 
ref = 'http://google.com' 
driver.get(ref) 
driver.get_screenshot_as_png() 

回避策、またはイメージとしてページ全体を保存する別の方法があり、私はget_screenshot_as_file()またはget_screenshot_as_png()機能を使用すると、私はいつも次の例外を取得しますか?

+0

私はそれがクロムのためにどのように動作するか知らないが、PhantomJSであなたはこのようにそれを保存すると、現在のウィンドウのスクリーンショットを取得します。 png ') – Nenad

+0

ありがとうございますが、save_screenshotは同じエラーを提供します – splinter

+0

おそらくURLが間違っていますか? – Nenad

答えて

1

get_screenshot_as_png()メソッドの代わりにsave_screenshot()メソッドを使用することをお勧めします。 save_screenshot()メソッドは、スクリーンショットの名前として論理/絶対パスとともに引数をとります。次のコードブロックはURLにナビゲートし、temp.pngというスクリーンショットを、自分のプロジェクトスコープ内に作成されたScreenshotsという名前のサブディレクトリに保存します。

from selenium import webdriver 
driver = webdriver.Chrome(r'C:\Utility\BrowserDrivers\chromedriver.exe') 
ref = 'http://google.com' 
driver.get(ref) 
driver.save_screenshot('./Screenshots/temp.png') 
driver.quit() 

Note that the Python Documentation specifies that there does exists some more methods() as follows:

  1. get_screenshot_as_png()は:バイナリデータとして現在のウィンドウのスクリーンショットを取得します。
  2. get_screenshot_as_file(filename):現在のウィンドウのスクリーンショットを取得します。
  3. get_screenshot_as_base64()は:driver.save_screenshot( '名前:base64でエンコードされた文字列
+0

ありがとうございますが、 'save_screenshot()'メソッドを使用するときに同じエラーが発生します。 – splinter

+1

@splinter一般的にChromeブラウザを開くことはできますか? ChromeDriverをバージョン2.30およびSeleniumからバージョン3.5.0にアップグレードしてみてください – DebanjanB

関連する問題