excel - 如何使用 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
解决方案
分享我在脚本中使用的示例代码。找到您希望 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
让我知道这是否对您有用
推荐阅读
- python - 将 Pandas groupby 应用于多列
- laravel - 错误:使用弹性 beanstalk 部署 Laravel 应用程序时,“/var/www/html/”的目录索引被禁止
- python-3.x - 为什么我得到这个 TypeError: unsupported format string passing to NoneType.__format__
- java - Java 我的打印在 for 或有时也无法正常工作我不知道错误,我也更改了 IDE :(
- mysql - 如何计算每个月每种客户类型的购买价值?
- reactjs - 有人知道 React Storybook 的 Knobs 插件中选择旋钮的内部工作原理吗?
- visual-studio - 尝试使用 Visual Studio 订阅访问 GitHub Enterprise Service 时出现暂时不可用状态
- python - 清除具有特定匹配项的消息的最有效方法是什么?
- javascript - 我如何在困难的数组中进行总计
- angular - Angular 12 无法加载架构 — 库中的 ng-package.schema.json 文件