2017-06-30 115 views
2

我想提取高分辨率圖片來自此網站:http://target.lroc.asu.edu/q3/給出了它的經度和緯度。我寫了一個自動輸入緯度和經度的python腳本,但是如何使用Python和硒在特定的緯度和經度下提取這個Lunar地圖。另外,一旦提取,我希望將其保存爲.png文件。使用Selenium Python從網頁中提取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

頁面加載後,就像一個在這個崗位特別是一整頁的圖像時,圖像可以被捕獲並通過一個單一的硒命令保存到一個文件。

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

雖然這段代碼可能會回答這個問題,但提供關於此代碼爲何和/或如何回答問題的其他上下文可以提高其長期價值。 –

+1

save_screenshot函數下載低分辨率圖像。我想要一個高分辨率的圖像。此功能將屏幕上的所有內容截屏! –

+0

此行的代碼語法無效,因爲save_screenshot需要一個字符串作爲參數。 –