2017-06-30 13 views
2

私は高解像度の画像をhttp://target.lroc.asu.edu/q3/の緯度と経度で抽出しようとしています。私は緯度と経度を自動的に入力するpythonスクリプトを作成しましたが、Pythonとセレンを使ってその特定の緯度と経度でこの月の地図をどのように抽出しますか?また、一旦抽出されたら、それを.pngファイルとして保存したいと思います。Selenium Pythonを使用してWebページからSVGを抽出する

以下は、ページにナビゲートし、緯度と経度の値を自動的に入力するコードです。ページが読み込まれた後

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.common.by import By 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.support.ui import Select 
from PIL import Image 
import time 

#Taking the inputs from USER 
latitude = input('Enter the Latitude : ') 
longitude = input('Enter the longitude : ') 

#Below is to remove the toolbar and open chrome and visit the webpage 
chrome_options = webdriver.ChromeOptions() 
chrome_options.add_argument("--disable-infobars") 
driver = webdriver.Chrome(chrome_options=chrome_options) 
driver.get('http://target.lroc.asu.edu/q3/#') 

full = driver.find_element_by_xpath('//div[@class="links"]') 
full2 = full.find_element_by_xpath('//span[@class="smallHelpBox"]') 
full3 = full2.find_element_by_xpath('//a[@class="fullscreen mapbutton"]').click() 

arrow2 = driver.find_element_by_xpath('//div[@class="zoomSelectWrapper mapbutton"]').click() 
arrow3 = driver.find_element_by_xpath('//ul[@class="zoomSelect ui-menu ui-widget ui-widget-content ui-corner-all"]') 
arrow4 = driver.find_element_by_xpath('//li[@class="ui-menu-item"]') 
arrow5 = driver.find_element_by_xpath('//a[@id="ui-id-58"]') 
arrow5.click() 

arrow = driver.find_element_by_xpath('//div[@id="OpenLayers.Control.MousePosition_19" and @class="olControlMousePosition olControlNoSelect"]') 
arrow.click() 
trial = driver.find_element_by_xpath('//div[@class="recenterWrapper"]') 

trial.find_element_by_xpath('//input[@class = "latbox"]').send_keys(str(latitude)) 
trial.find_element_by_xpath('//input[@class = "lonbox"]').send_keys(str(longitude)) 
trial.find_element_by_xpath('//a[@class = "recenterBtn qm-icon icon-recenter"]').click() 
arrow.click() 
+0

どの段階でスクリーンショットを撮ろうとしていますか?あなたは正確な手作業で共有することを検討できますか?ありがとう – DebanjanB

+0

@DebanjanB基本的に私はちょうどスクリーンショットをクリックしたくない、むしろウェブサイト上の高解像度画像を抽出する。これは、Googleマップからマップの高解像度部分を抽出するのと同じようなものです。 –

答えて

-1

、この記事内の1つのような、特に全ページの画像、画像は、単一のセレンコマンドでファイルにキャプチャして保存することができます。

driver.save_screenshot('/home/rebel/images/myscreen.png') 
+0

このコードは質問に答えるかもしれませんが、このコードが質問に答える理由と理由についての追加の文脈を提供することで、長期的な価値が向上します。 –

+1

save_screenshot関数は低解像度画像をダウンロードします。私は高解像度の画像が欲しい。この関数はスクリーン上のすべてのもののスクリーンショットを取ります! –

+0

save_screenshotには文字列を引数として指定する必要があるため、このコード行には無効な構文があります。 –

関連する問題