【发布时间】:2017-12-04 20:35:52
【问题描述】:
我正在尝试从该网站提取 高分辨率 图像:http://target.lroc.asu.edu/q3/ 考虑到它的纬度和经度。我已经编写了一个 python 脚本,它自动输入纬度和经度,但是如何使用 Python 和 selenium 在特定的纬度和经度处提取这个月球地图。此外,一旦提取,我希望将其保存为 .png 文件。
下面是导航到页面并自动输入 lat 和 long 值的代码。
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()
【问题讨论】:
-
您要在哪个阶段截屏?您可以考虑分享您的确切手动步骤吗?谢谢
-
@DebanjanB 基本上我只是不想点击屏幕截图,而是在网站上提取高分辨率图像。这可能类似于从 Google 地图中提取地图的高分辨率部分。
标签: python selenium svg selenium-webdriver