我正在尝试学习Excel VBA以使用chrome浏览器进行自动化测试。
- Chrome 版本 71.0.3578.98(官方版本)(64 位)
- 硒基础 2.0.9
- 铬驱动程序 2.4.5
我被困在需要将鼠标悬停在 Web 元素上以显示其选项然后处理以单击该选项的地步。这里的问题是您需要将鼠标悬停在父元素上,以便它将触发 javascript 以添加新的 html 以显示单击所需的子元素,但我负担不起执行鼠标悬停操作代码。
我正在使用这个网站进行测试:http://lienminh360.vn/。
这是我现在的代码 - 虽然不起作用
Sub Button10_Click()
Dim driver As WebDriver
Set driver = New ChromeDriver
driver.Start "chrome"
driver.Window.SetPosition 0, 0
driver.Window.SetSize 1000, 1000
driver.Get "http://lienminh360.vn/"
driver.Wait 3000
driver.FindElementByXPath("//*[@id ='menu-item-33']").AsSelect.SelectByIndex (3)
driver.Wait 3000
driver.Quit
End Sub
您可以尝试单击并按住。如果您解释您希望看到哪些选择,这将有所帮助。您要定位的元素是li
元素,因此您使用的语法是错误的。它是为父select
元素设计的。如果这是我的目标正确元素,您可以完全删除单击并按住行,只需在目标上使用单击即可。该元素不是加载后呈现的 javascript。
Option Explicit
Public Sub MakeSelection()
Dim driver As WebDriver
Set driver = New ChromeDriver
driver.Start "chrome"
driver.Window.SetPosition 0, 0
driver.Window.SetSize 1000, 1000
driver.Get "http://lienminh360.vn/"
'driver.FindElementById("menu-main-menu").ClickAndHold
driver.FindElementById("menu-item-33").Click
Stop
End Sub