我想启动浏览器,然后单击无法通过“选项卡”访问的元素,因此无法发送密钥。如果是在Internet Explorer上,我将尝试使用ie.document.getElementByName函数,但这不是一个选择,因为我通过外壳函数启动了Google Chrome(有关Chrome启动方法,请参见下面的代码)。当没有对象可供.document.getElementByName调用时,是否仍可以访问html元素?
Dim chromePath As String
chromePath = """C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"""
Shell (chromePath & " -url https://clients.mindbodyonline.com/Report/Sales/Sales/Generate?reportID=undefined")
答案 0 :(得分:0)
如果您通过硒进行发射则很容易。附加到现有浏览器实例上的难度要大得多,甚至不是不可能(尚未找到vba方法)。从命令行启动的一种与当前WebDriver实例所使用的不同。
我要冒充地说,因为您的命令行内容是通过Shell
完成的,并且仅用于启动Chrome,所以您只需替换为安装selenium basic,添加参考到selenium type library
,然后使用硒打开Chrome,如下所示:
Option Explicit
Public Sub OpenChromeAndSelect()
'References to Selenium type library
Dim d As WebDriver, el As WebElement
Set d = New ChromeDriver
Const URL = "https://clients.mindbodyonline.com/Report/Sales/Sales/Generate?reportID=undefined"
With d
.Start "Chrome"
.get URL
Set el = .FindElementById("myID")
'Do other stuff
'.Quit
End With
End Sub