SIM*_*SIM 0 selenium vba web-scraping selenium-webdriver
我使用 VBA 结合 selenium 编写了一个脚本,从网页中获取所有公司链接,该网页直到滚动到最下方才显示所有链接。但是,当我运行脚本时,我只得到 20 个链接,但总共有 1000 个链接。我听说可以在代码之间执行 javascript 函数来完成此类任务。此时,我不知道如何将其放入我的脚本中。这是我到目前为止所尝试过的:
Sub Testing_scroll()
Dim driver As New WebDriver
Dim posts As Object, post As Object
driver.Start "chrome", "http://fortune.com/fortune500"
driver.get "/list/"
driver.execute_script ("window.scrollTo(0, document.body.scrollHeight);") --It doesn't support here
Set posts = driver.FindElementsByXPath("//li[contains(concat(' ', @class, ' '), ' small-12 ')]")
For Each post In posts
i = i + 1
Cells(i, 1) = post.FindElementByXPath(".//a").Attribute("href")
Next post
End Sub
Run Code Online (Sandbox Code Playgroud)
小智 5
根据 SeleniumBasic 中包含的示例,您应该使用
driver.ExecuteScript("window.scrollTo(0, document.body.scrollHeight);")
Run Code Online (Sandbox Code Playgroud)
不是“driver.execute_script”,它是我之前给你的解决方案中的Python等效项:)你必须以同样的方式循环它,直到你在页面上获得了所有1000个链接。
| 归档时间: |
|
| 查看次数: |
8496 次 |
| 最近记录: |