Excel 刮谷歌地图目的地
我想做一个代码,用于抓取谷歌地图的目的地。我可以使用Excel 刮谷歌地图目的地,excel,vba,web-scraping,Excel,Vba,Web Scraping,我想做一个代码,用于抓取谷歌地图的目的地。我可以使用https://www.google.com/maps/dir/// 然后我需要输入信息到“发件人”和“收件人”字段,选择“旅行模式”,然后单击“搜索”WebBrowser1嵌入到UserformDistanceSite。不知道如何在谷歌地图上点击驾驶按钮 这是我目前的代码: Private Sub CommandButton4_Click() 'On Error Resume Next With DistanceSite.WebBr
https://www.google.com/maps/dir///
然后我需要输入信息到“发件人”和“收件人”字段,选择“旅行模式”,然后单击“搜索”WebBrowser1
嵌入到UserformDistanceSite
。不知道如何在谷歌地图上点击驾驶按钮
这是我目前的代码:
Private Sub CommandButton4_Click()
'On Error Resume Next
With DistanceSite.WebBrowser1
While .ReadyState <> 4
DoEvents
Wend
With .Document
.querySelector("div.gstl_50 .sbib_b [class=tactile-searchbox-input]").Value = ThisWorkbook.Sheets("Other Data").Range("BY17").Value
.querySelector("div.gstl_51 .sbib_b [class=tactile-searchbox-input]").Value = ThisWorkbook.Sheets("Other Data").Range("BY18").Value
.querySelector("div.widget-directions-travel-mode-switcher-container [class=directions-travel-mode-icon directions-drive-icon]").Click
End With
End With
'If Err <> 0 Then
'MsgBox "There was an error running the code. Check your Internet connection. Please try one more time!"
'Else
'End If
'On Error GoTo 0
End Sub
Private子命令按钮4\u单击()
'出现错误时,请继续下一步
使用DistanceSite.WebBrowser1
While.ReadyState 4
多芬特
温德
随附.文件
.querySelector(“div.gstl_50.sbib_b[class=tactile searchbox input]”)。Value=ThisWorkbook.Sheets(“其他数据”)。范围(“BY17”)。值
.querySelector(“div.gstl_51.sbib_b[class=tactile searchbox input]”)。Value=ThisWorkbook.Sheets(“其他数据”)。范围(“BY18”)。值
.querySelector(“div.widget-directions-travel-mode-switcher-container[class=directions-travel-mode-icon directions-drive icon]”。单击
以
以
'如果错误为0,则
“MsgBox”运行代码时出错。请检查您的Internet连接。请再试一次!”
”“否则呢
"完"
'在出现错误时转到0
端接头
您的类选择器选择子类时不正确。我猜,如果不看,你已经错过了一个或多个复合类。在这种情况下,将复合类中的单个类(如果您选择了正确的一个)与父类结合使用就足够了:
.widget-directions-travel-mode-switcher-container .directions-drive-icon
您还可以使用属性=值选择器
ie.document.querySelector("[aria-label=Driving]").click
ID可能是动态的,这就是我在下面的示例中使用占位符属性的原因。在英国进行测试
Option Explicit
Public Sub ClickButton()
Dim ie As New InternetExplorer
With ie
.Visible = True
.Navigate2 "https://www.google.com/maps/dir//"
While .Busy Or .readyState < 4: DoEvents: Wend
With .document
.querySelector("[placeholder='Choose starting point, or click on the map...']").Value = "Aylesbury"
.querySelector("[placeholder='Choose destination...']").Value = "Brentford"
.querySelector("[aria-label=Driving]").Click
End With
Stop '<delete me later
.Quit
End With
End Sub
选项显式
公共子点击按钮()
Dim ie成为新的InternetExplorer
与ie
.Visible=True
.导航2“https://www.google.com/maps/dir//"
当.Busy或.readyState<4:DoEvents:Wend时
随附.文件
.querySelector(“[placeholder=”选择起点,或单击地图…”)”。Value=“Aylesbury”
.querySelector(“[placeholder='Choose destination…]”)。Value=“Brentford”
.querySelector(“[aria label=Driving]”)。单击
以
停下来