2016-11-07 10 views
0

私はぼんやりしているphantomjsでスクリーンショットをとっています。それは実際のページのように見えるようにスクリーンショットのより良い解決を得ることは可能ですか?Selenium、PhantomJSのスクリーンショットがぼやけている

driver = webdriver.PhantomJS() 
driver.set_window_size(a, b) 
driver.get('www.page.com') 
driver.save_screenshot('screenpic.png') 
screen = driver.get_screenshot_as_png() 
im = Image.open(StringIO.StringIO(screen)) 
#I then set a region to crop called wndw 
region = im.crop(wndw) 

ページをシャープにするにはどうすればよいですか?

答えて

0

ページでは、自分自身を呼び出すことができますウィンドウオブジェクト、中onfocusonblurコールバックを介して情報をフォーカスを取得した:特定の要素を重視する必要がある場合

browser.execute_script("window.onfocus()")

、いずれかを試してみてください。

browser.execute_script("document.getElementById('id').focus()") browser.execute_script("document.getElementById('id').click()")

+0

したがって、1つのsvg要素を切り抜くためにページ全体をダウンロードしています。これは本当にぼやけています。私は、要素をフォーカスするだけでなく、私はトリミングする前に、ページ全体をフォーカスすることは可能ですか?私は私の編集でいくつかのコードを追加しました。 – hellowrld

+0

screenpic.pngがぼやけているか、リージョンが切り抜かれるのは確実ですか? (新しい回答があれば、該当する場合は無視してください)...最初のスクリーンショットがぼんやりしていない – Phillip

+0

ページがぼやけていて、少しぼかしたように見えるので、それを切り抜くとまだぼやけています。私は右側のtab reccomendationの動向の下でfinance.yahoo.com/quote/AAPL/analysts?p=AAPLからこのSvgチャートを削り取ろうとしています。私はスクリーンショットを使用しています。なぜなら、私はSVNをつかむ別の方法を知らないからです。 – hellowrld

0

コメントから@ Phillipの回答までは、実際にはページ全体が必要な場合は、1つのSVGファイルのイメージを取得する必要があります。

なぜSVGファイルを取得してイメージに直接変換しないのですか? this answerによれば、Python rsvgを使用してSVGファイルをレンダリングすることができます。

SVGのURLがわからない場合は、Seleniumを使用して見つけることができます。次に、PythonからダウンロードしてPNGにレンダリングします。

+0

だから、私たちはhttp://sourceforge.net/タブの推薦傾向は右側にあります。私は要素を調べるときにURLを見つけることができないようです。私がダウンロードしたければ、このチャートだけはうまくいくでしょうか? – hellowrld

+0

data-reactid = '.6ei8dvzzo.0。$ 0.0.0.3.1。$ main-0-Quote-Proxy。$ main-0-Quote.2.1。$ trends.1.0'およびclass = 'ratings-chart'私はセレンを介してこれにWebリンクを見つけることができません – hellowrld

関連する問題