使用VBA麻烦点击“加载更多”按钮

时间:2019-01-06 18:50:51

标签: vba selenium web-scraping selenium-chromedriver

我尝试结合使用vba和 this webpage 左侧窗口底部的Load More按钮硒,但脚本始终会抛出指向此.Get Url行的超时错误。尽管看来我已经定义了一个精确的xpath来定位元素,但我无法进一步思考现在应该怎么做才能实现相同的目的。

如何单击该Load More按钮?

Sub ClickOnLoadMore()
    Const Url$ = "http://www.ratemyprofessors.com/search.jsp?queryoption=TEACHER&queryBy=schoolDetails&schoolID=457&schoolName=James+Madison+University&dept=select"
    Dim driver As New ChromeDriver, post As Object

    With driver
        .Get Url
        Set post = .FindElementByXPath("//div[contains(.,'Load More')]")
        .ExecuteScript "arguments[0].scrollIntoView();", post
        post.Click
    End With
End Sub

1 个答案:

答案 0 :(得分:1)

我看到两个“加载更多”按钮。两者都由"//div[contains(.,'Load More')]"匹配。第一个是隐藏的。您需要处理第二个。

尝试此XPath

"//div[@class='content' and . = 'Load More']"