我正在尝试创建一个宏:获取活动单元格的值(属性地址)/使用Selenium Edge Driver打开Edge到www.redfin.com/搜索单元格的值(属性地址)/从搜索结果网页获取URL/将URL超链接写回活动单元格,单元格中的值仍然完好无损,但现在它是一个超链接,您可以单击它返回搜索结果页面。
这是我正在尝试的代码。
' Create a new instance of the Edge WebDriver
Dim driver As New WebDriver
Sub FetchURL()
' Get the value from the active cell
Dim cellValue As String
cellValue = ActiveCell.Value
' Start the Edge browser
driver.Start "Edge", "msedgedriver.exe"
' Navigate to the Redfin search page
driver.Get "https://www.redfin.com"
' Find the search bar and enter the search term
Dim searchBox As WebElement
Set searchBox = driver.FindElementByCss("input[class='search-input-box']")
searchBox.SendKeys cellValue
searchBox.Submit
' Wait for the search results to appear
'driver.Wait 5000, "div[class='homes summary']"
' Get the URL of the search results page
Dim pageURL As String
pageURL = driver.Url
' Write the URL back to Excel with a hyperlink
ActiveCell.Hyperlinks.Add Anchor:=ActiveCell, Address:=pageURL, TextToDisplay:=ActiveCell.Value
' Do not close the browser or release the driver object
End Sub
它只是将www.redfin.com复制回超链接,而不是搜索到的属性页的URL。不知道出了什么问题。感谢您的意见。
1条答案
按热度按时间eivgtgni1#
您需要包括一个等待期,以使搜索的地址页加载。否则,您将获得原始URL。在Submit搜索框后,向代码中添加
driver.wait 1000
。