试图使用VBA在Chrome中单击按钮

时间:2019-07-15 03:35:30

标签: excel vba selenium

作为一个新手,在Excel(2013)VBE中使用Selenium Basic ChromeDriver(v 75.0.3770.140)编写Macro来自动执行Chrome(v 75.0.3770.100)的工作,我试图找到一种单击按钮的方法。 id不断变化。这是HTML:

<td align="left">
<button type="submit" id="nHuPf" class="login_btn y-btn-primary z-button">Login</button>
</td>

我尝试了一下都没用:

obj.FindElementByClass("login_btn y-btn-primary z-button").Click

'宏以此开头:

Dim obj As New ChromeDriver

obj.Start "chrome", "   "
obj.Get "https://sh.com/backoffice"

非常感谢您提供有关如何使用Excel VBE中的Selenium类型库单击此按钮的任何建议,

2 个答案:

答案 0 :(得分:1)

尝试使用javascript执行

obj.ExecuteScript "document.querySelector('.login_btn').click();"

答案 1 :(得分:1)

要单击文本为登录的元素,可以使用以下任一Locator Strategies

  • cssSelector

    driver.FindElementByCss("button.login_btn.y-btn-primary.z-button[type='submit']").Click
    
  • xpath

    driver.FindElementByXPath("//button[@class='login_btn y-btn-primary z-button' and text()='Login']").Click