在我的日常任务中,我目前必须搜索大量产品并收集有关这些产品的信息。所以我的想法是在谷歌上搜索产品,并通过从产品标题部分提取数据来从第一个搜索结果中获取信息,并对许多产品进行循环。
到目前为止,我的代码如下:
Sub SkuAutomation()
Dim ie As Object
'Navigates to google
Set ie = CreateObject("InternetExplorer.application")
ie.Visible = True
ie.Navigate "https://google.co.uk/search?q=" & Worksheets("sheet1").Cell(9, 4).Value & " " & Worksheets("sheet1").Cells(9, 2)
'Waits for page to load before next action
Do While ie.ReadyState <> READYSTATE_COMPLETE
Loop
End Sub
我只想添加一段代码,它可以单击谷歌返回的第一个链接,也可以为我返回该链接。我的想法是从该页面的产品标题部分中抓取数据!但仍处于非常早期的阶段。
我只是一个初学者,所以任何类型的帮助将不胜感激!提前谢谢了。
您的情况可能会有所不同,但对于您所提供的内容,您可以使用 CSS 选择器组合通过页面样式来定位第一个链接。
I use #search div.r [href*=http]
但你可以简化为#search .r a
。我有兴趣知道有一个http
in the href
though.
The #
是一个id选择器,一个空格" "
是一个后代选择器(选择前一个元素的子元素和[]
是一个属性选择器。 A"."
是一个类选择器,即通过类名选择一个元素。
我正在寻找第一个元素href
属性包含http
在其具有父元素的值中div
带有类名的元素r
,其父级的 id 为search
.
Option Explicit
Public Sub GetLink()
Dim ie As New InternetExplorer
With ie
.Visible = True
.navigate "https://google.co.uk/search?q=Currys+241825"
While .Busy Or .readyState < 4: DoEvents: Wend
Debug.Print .document.querySelector("#search div.r [href*=http]").href
.Quit
End With
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)