excel vba操作网页 sendkeys“{PGDN}” 为什么

例如我用vba打开百度学术网页,当正常打开网页后,我只能看最上面的一页,但是我想用pagedown下翻打开的页面,查询可以用sendkeys“{PGDN}”来实现,但是尝试了n种组合,都没有效果。所有代码可以正常运行,但翻页效果不能实现,需要手动按键盘page down才可以。大家帮帮忙,谢谢。

看看是否没有先让浏览器获得焦点,要让浏览器窗口在最前面获得焦点再sendkeys

内容来源与ChatGpt4及newbing和百度:


您好,使用SendKeys发送“{PGDN}”可能无法在网页中产生预期的效果。相反,您可以使用WebBrowser控件中的Document对象来模拟按下PageDown键。

以下是示例代码,它使用WebBrowser控件打开百度学术网页并模拟按下PageDown键:

Sub ScrollPageDown()
    Dim ie As Object
    Set ie = CreateObject("InternetExplorer.Application")
    ie.Visible = True
    ie.navigate "https://xueshu.baidu.com/"
    Do While ie.Busy Or Not ie.ReadyState = 4
        DoEvents
    Loop
    Dim doc As Object
    Set doc = ie.Document
    doc.parentWindow.ScrollBy 0, 99999 '向下滚动
End Sub

此代码使用InternetExplorer对象打开百度学术网页,并使用Document对象的parentWindow属性滚动页面。ScrollBy方法接受两个参数,它们是水平和垂直滚动的像素数。在此示例中,我们向下滚动了99999像素,以模拟PageDown键的效果。


祝您问题迎刃而解