首页 > 解决方案 > 如何使用 selenium 和 VBA 将密钥发送到 Web 浏览器

问题描述

我编写了简单的代码以使用 Excel VBA 登录到 gmail:

 Sub testEdgeAuto()
Dim obj As New WebDriver
Dim i As Integer
obj.Start "chrome", ""

obj.Wait 3000
obj.FindElementById("form-username").SendKeys ("my mail")
obj.Wait 3000
obj.FindElementById("form-password").SendKeys ("my password")
obj.Wait 3000
obj.FindElementById("login-btn").Click
obj.Wait 2000

End Sub

这工作正常。但是每次打开一个新的浏览器,之前浏览器的工作历史就会消失。此外,我每次都必须使用上述发送密钥登录。

或者,我使用如下代码:

Sub demo()

Dim obj As New WebDriver
Dim i As Integer
  Dim chromePath As String

  chromePath = """C:\Program Files\Google\Chrome\Application\chrome.exe"""


 obj.Wait 3000
    obj.FindElementById("form-username").SendKeys ("my mail")
    obj.Wait 3000
    obj.FindElementById("form-password").SendKeys ("my password")
    obj.Wait 3000
    obj.FindElementById("login-btn").Click
    obj.Wait 2000
    

End Sub

这将打开已保存密码和登录名的 chrome。但我无法使用此代码发送密钥。此代码给出如下所示的错误:。如何使用此代码发送密钥。谢谢

[在此处输入图片描述] 1

标签: excelvbaseleniumselenium-webdriver

解决方案


分享我在脚本中使用的示例代码。找到您希望 chrome 打开的扩展程序的路径。应该和这个类似——"USER_Libin\\AppData\\Local\\Google\\Chrome\\User Data\\Profile\\Extensions\\tracker\\1.9"

创建一个变量来定义路径,然后尝试以下补丁:

Sub Demo_Test()
    Dim driver As New ChromeDriver

    With driver
        .AddArgument “–-load-extension=” + pathToExtension

让我知道这是否对您有用


推荐阅读