1 安装 Selenium Basic

首先需要安装Selenium Basic,才能在工具栏中找到Selenium Type Library

在安装Selenium Basic之前,请确保您的计算机上已安装Visual Basic for Applications(VBA)。VBA是Microsoft Office应用程序(如Excel、Word等)中使用的宏语言。

安装Selenium Basic方法如下:

  1. 首先,下载Selenium Basic安装程序。您可以从以下链接下载最新版本的Selenium Basic:https://florentbr.github.io/SeleniumBasic/,如果打不开那就打开这个链接https://github.com/florentbr/SeleniumBasic/releases/
  2. 下载安装程序exe:
  3. 运行Selenium Basic安装程序,并按照安装向导的指示进行操作。在安装过程中,您可以选择要安装的浏览器驱动程序,例如ChromeDriver、FirefoxDriver等。(就是一路Accept、next)
  4. 安装完成后,启动Excel,并在VBA编辑器中选择“工具”菜单,然后选择“引用”。
  5. 在“可用引用”列表中,找到“Selenium Type Library”并选中该库,然后单击“确定”按钮。这将向您的VBA项目中添加对Selenium Basic的引用。
  6. 现在,您可以在VBA项目中编写使用Selenium Basic的代码,并运行它。

请注意,如果您使用的是64位版本的Office,您可能需要使用64位版本的Selenium Basic。同样,如果您使用的是Mac或Linux系统,您需要使用相应的Selenium Basic版本。

2 下载webdriver

参考:Selenium for VBA的配置-知乎-语言堂

  1. 保证浏览器driver 和你的浏览器版本相配,以Chrome为例: ChromeDriver下载地址 - WebDriver for Chrome - Downloads。打开页面,如果你是新版,按指示跳转到另一个页面去下载。

    我的是111,所以下载111版本,下载链接

    关于版本怎么查看,找到设置里的关于Chrome就行。


3. 将匹配的driver 复制到 SeleniumBasic 的安装文件夹 ,例如: C:\Users[你的用户名]\AppData\Local\SeleniumBasic

  1. 下载 MS .Net 3.5 : Download Microsoft .NET Framework 3.5 from Official Microsoft Download Center
    注意:点开了就能下载,如果没弹出下载说明网络有问题,可以尝试点击手动下载。

    这一步很重要,没有.Net,运行VBA的时候会出现Automation Error的报错。

3 自动登录

安装好1、2步骤后,重新打开Excel程序,然后打开宏编辑窗口:


一个简单的脚本如下:

Sub LoginToWebsite()
Dim driver As New ChromeDriver
Dim URL As String
Dim MyLogin As String
Dim MyPassword As String '设置网站登录页面的URL
URL = "http://10.12.xxx.xx/ui/sessions/signin" '设置登录信息
MyLogin = "myname"
MyPassword = "mypasswd" '打开Chrome浏览器
driver.Start "Chrome" '访问登录页面
driver.Get URL '输入用户名和密码
driver.FindElementById("username").SendKeys MyLogin
driver.FindElementById("passwd").SendKeys MyPassword '提交登录表单
driver.FindElementById("signin_button").Click '等待页面加载
driver.Wait 5000 '检查是否成功登录
If InStr(driver.PageSource, "仪表板") > 0 Then
MsgBox "登录成功!"
Else
MsgBox "登录失败!"
End If '关闭浏览器
driver.Quit
End Sub

只要在网页上找到输入框的id,再把账号密码填进去就完事了。

本账号所有文章均为原创,欢迎转载,请注明文章出处:https://blog.csdn.net/qq_46106285/article/details/129613315。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

【记录】Excel 2021|(三)VBA使用Selenium自动登录网页的更多相关文章

  1. 自动化测试: Selenium 自动登录授权,再 Requests 请求内容

    Selenium 自动登录网站.截图及 Requests 抓取登录后的网页内容.一起了解下吧. Selenium: 支持 Web 浏览器自动化的一系列工具和库的综合项目. Requests: 唯一的一 ...

  2. C# 自动登录网页,浏览页面【转载】

    需求:客户的数据同时存在在另外一个不可控的系统中,需要和当前系统同步. 思路:自动登录另外一个系统,然后抓取数据,同步到本系统中. 技术点:模拟用户登录:保存登录状态:抓取数据 /// <sum ...

  3. MY_使用selenium自动登录126/163邮箱并发送邮件

    转自:https://www.cnblogs.com/yin-tao/p/7244082.html 我使用的是python2.7.13+selenium ps:几天之前,我曾多次尝试写这段代码,但是在 ...

  4. Mac 下安装python3.7 + pip 利用 chrome + chromedriver + selenium 自动打开网页并自动点击访问指定页面

    1.安装python3.7https://www.python.org/downloads/release/python-370/选择了这个版本,直接默认下一步 2.安装pipcurl https:/ ...

  5. python 自动登录网页

    语言:python 浏览器:chrome 工具:chrome控制台 #!/usr/bin/python # coding: GBK import urllib,urllib2,httplib,cook ...

  6. [Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍

    前三篇文章介绍了安装过程和通过Selenium实现访问Firefox浏览器并自动搜索"Eastmount"关键字及截图的功能.而这篇文章主要简单介绍如何实现自动登录163邮箱,同时 ...

  7. VBA控制outlook自动发送邮件(转)

    使用Excel VBA实现Outlook自动发送邮件 | 在工作上我们都会遇到批量发送邮件的情况,面对重复而规律性的工作,可以使用Excel的VBA实现自动批量化发送邮件.大大减小工作时间,提升工作效 ...

  8. [Python爬虫] Selenium自动访问Firefox和Chrome并实现搜索截图

    前两篇文章介绍了安装,此篇文章算是一个简单的进阶应用吧!它是在Windows下通过Selenium+Python实现自动访问Firefox和Chrome并实现搜索截图的功能.        [Pyth ...

  9. Python3从零开始爬取今日头条的新闻【三、滚动到底自动加载】

    Python3从零开始爬取今日头条的新闻[一.开发环境搭建] Python3从零开始爬取今日头条的新闻[二.首页热点新闻抓取] Python3从零开始爬取今日头条的新闻[三.滚动到底自动加载] Pyt ...

  10. Excel中使用VBA访问Access数据库

    VBA访问Access数据库 1. 通用自动化语言VBA VBA(Visual Basic For Application)是一种通用自动化语言,它可以使Excel中的常用操作自动化,还可以创建自定义 ...

随机推荐

  1. 最新demo版 | 如何0-1开发支付宝小程序之小程序页面功能介绍(三)

    前两期讲了小程序开发的准备工作以及前期需要如何调试,今天我们就来介绍下开发一个支付宝小程序页面需要了解哪些信息. 一个小程序页面的整体功能的构成离不开页面展示(AXML).页面样式(ACSS)以及页面 ...

  2. 运用myabits

    要使用 MyBatis, 只需将 mybatis-x.x.x.jar 文件置于类路径(classpath)中即可. 如果使用 Maven 来构建项目,则需将下面的依赖代码置于 pom.xml 文件中: ...

  3. Convert byte array to short array in C#

    Create the short array at half the size of the byte array, and copy the byte data in: short[] sdata ...

  4. Linux介绍及使用(1)

    一.linux介绍 1.Linux是一个免费.开源的操作系统,能多用户.多任务.支持多线程和多CPU的操作系统,相对windows更加稳定,在unix系统的基础上开发的系统: 注解:(1)免费:不要钱 ...

  5. MySQL - [17] Oracle、SQLServer、MySQL数据类型对比

    题记部分 一.数据类型对比 对应关系 (1)整数类型 Oracle的NUMBER(*,0) 对应 SQL Server的INT 和 MySQL的INT Oracle的BIGINT 可能需要映射到SQL ...

  6. SuperSocket 服务端 和 SuperSocket.ClientEngine 客户端及普通客户端

    internal class Program { //static void Main(string[] args) //{ // byte[] arr = new byte[1024]; // 1. ...

  7. .net core datatable 导出 pdf 支持中文

    1.nuget  安装 iTextSharp (V4.1.6) to .NET Core. 2.code public DataTable ToDataTable<T>(IEnumerab ...

  8. 记vue修改数组属性,dom不发生变化的问题

    目录: 目录 目录: 开篇 正确的姿势 为什么 $set 开篇 今天在写vue的时候,出现了一个以前可能没遇到的问题.我利用一个数组记录列表下按钮的启用.禁用状态,但我点击某个列表项按钮后,会修改当前 ...

  9. mac 触控板 三指拖动

    1. 打开系统偏好设置 点击屏幕左上角的苹果图标(),选择"系统设置". 2. 打开指针控制 在系统偏好设置窗口左侧栏中,点击"辅助功能",然后在右侧列表中, ...

  10. php处理跨域

    1.允许所有域名访问 header('Access-Control-Allow-Origin: *'); 2.允许单个域名访问 header('Access-Control-Allow-Origin: ...