截图谷歌地图和粘贴到Excel文档VBA [重复]

问题描述 投票:-2回答:1

这个问题在这里已有答案:

我有一个代码,已经搜索纬度和经度并粘贴到我的工作表,这是完美的。我正在寻找一种方法来获取经度和纬度,加载谷歌地图,并截取谷歌地图页面的截图或嵌入地图到Excel。

在我的下面的代码中,我有一个代码,已经为任何输入地址加载谷歌地图,但我不知道如何获取地图的屏幕截图(最好没有页面侧面的输入信息)或嵌入地图到Excel中。底部的额外代码是来自USGS网站的请求/响应,该网站提取某个位置的官方地震信息,但不应影响代码的顶部。

请注意,如果可能,我希望这只是地图的静态屏幕截图。我不想在多个桌面上安装Google地球,以便能够将交互式地图嵌入到工作表中(如果可能的话)。

Option Explicit

Public Sub Seismicgrab()

Dim browser As New ChromeDriver
Dim URL As String
Dim ws As Object
Dim xmlhttp As New MSXML2.XMLHTTP60

browser.Get "http://www.google.com/maps?q=" & Range("H13").Value

browser.Wait 5000

Cells(19, 13).Value = browser.URL

browser.Close

URL = Range("M24").Value
xmlhttp.Open "GET", URL, False
xmlhttp.Send
Worksheets("Title").Range("M25").Value = xmlhttp.responseText
End Sub
excel vba google-maps selenium web-scraping
1个回答
0
投票

您可以使用对象的TakeScreenshot方法

browser.TakeScreenshot.SaveAs ".....jpg"   '<== put your path and file name here

为了更灵活,例如裁剪考虑切换语言并使用以下任何方法:

How to capture the screenshot of a specific element rather than entire page using Selenium Webdriver?

此外,有些方法我认为使用标准VBA和API调用来截取屏幕截图然后裁剪图像。

© www.soinside.com 2019 - 2024. All rights reserved.