【问题标题】:trying to click button in Chrome using VBA尝试使用 VBA 在 Chrome 中单击按钮
【发布时间】:2019-07-15 14:25:18
【问题描述】:

作为一个新手在 Excel (2013) VBE 中使用 Selenium Basic ChromeDriver (v 75.0.3770.140) 编写宏以自动化 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 类型库单击此按钮的任何建议,不胜感激。

【问题讨论】:

  • 有错误信息吗?
  • 我可以看到id="nHuPf" >> 那你为什么不试试FindElementByID
  • 每次页面加载时id都会改变

标签: excel vba selenium


【解决方案1】:

尝试javascript执行

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

【讨论】:

    【解决方案2】:

    要点击文本为 Login 的元素,您可以使用以下任一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
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-11
      • 2015-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多