ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: perfect131

[分享] 无意中发现的 selenium后期绑定

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-10-31 07:50 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
lss001 发表于 2024-10-30 14:18
需要安装edgedriver_win32
或edgedriver_win64

多谢高手指点,回头试试

TA的精华主题

TA的得分主题

发表于 2024-11-7 13:44 | 显示全部楼层
下面是前期绑定edge的例子,已测试正常运行,如何改成后期绑定呢


Sub Baidu()  '打开百度,搜索“好看视频”
    On Error GoTo Err1
    Dim WD As SeleniumBasic.IWebDriver      '声明一个名为WD的变量,类型为SeleniumBasic库中的IWebDriver接口
    Dim Service As SeleniumBasic.EdgeDriverService  '声明一个名为Service的变量,类型为SeleniumBasic库中的EdgeDriverService类。
    Dim Options As SeleniumBasic.EdgeOptions '声明一个名为Options的变量,类型为SeleniumBasic库中的EdgeOptions类。
    Set WD = New SeleniumBasic.IWebDriver   '创建一个新的IWebDriver对象,并将其赋值给WD变量
    Set Service = New SeleniumBasic.EdgeDriverService  '创建一个新的EdgeDriverService对象,并将其赋值给Service变量
    With Service
        .CreateDefaultService driverPath:="D:\SeleniumBasic\Drivers", driverexecutablefilename:="msedgedriver.exe"  '调用CreateDefaultService方法,设置edge驱动程序路径和可执行文件名。
        .HideCommandPromptWindow = True    '隐藏命令提示符窗口
    End With
    Set Options = New SeleniumBasic.EdgeOptions '创建一个新的EdgeOptions对象,并将其赋值给Options变量
    With Options
        .StartPage = "https://www.cnblogs.com/ryueifu-VBA/"  '设置StartPage属性为指定的网址
    End With
    WD.New_EdgeDriver Service:=Service, Options:=Options '调用New_EdgeDriver方法,传入Service和Options对象,创建一个新的EdgeDriver实例。
    WD.Navigate.GoToUrl "https://www.baidu.com" '调用Navigate对象的GoToUrl方法,导航到指定的网址
    Dim form As SeleniumBasic.IWebElement '声明一个名为form的变量,类型为SeleniumBasic库中的IWebElement接口。
    Dim keyword As SeleniumBasic.IWebElement '声明一个名为keyword的变量,类型为SeleniumBasic库中的IWebElement接口。
    Dim button As SeleniumBasic.IWebElement '声明一个名为button的变量,类型为SeleniumBasic库中的IWebElement接口。
    Set form = WD.FindElementById("form") '调用WD对象的FindElementById方法,查找ID为"form"的元素,并将其赋值给form变量。
    Set keyword = form.FindElementById("kw") '调用form对象的FindElementById方法,查找ID为"kw"的元素,并将其赋值给keyword变量。
    keyword.Clear '调用keyword对象的Clear方法,清空输入框中的内容
    keyword.SendKeys "好看视频" '调用keyword对象的SendKeys方法,输入关键词"好看视频"
    Set button = form.FindElementById("su") '调用form对象的FindElementById方法,查找ID为"su"的元素,并将其赋值给button变量。
    button.Click '调用button对象的Click方法,模拟点击按钮
    Debug.Print WD.Title, WD.URL '输出网页的标题和URL
    Debug.Print WD.PageSource '输出网页的源代码
    MsgBox "下面退出浏览器。"
    WD.Quit '调用WD对象的Quit方法,关闭浏览器
    Exit Sub
Err1:
    MsgBox Err.Description, vbCritical
End Sub

TA的精华主题

TA的得分主题

发表于 2024-11-13 08:48 | 显示全部楼层
搞定了,不需要这么复杂
只要把Dim WD As SeleniumBasic.IWebDriver   放在公共就行了,后面wd别退出,以后就能调用这个已经打开的wd了
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-21 19:07 , Processed in 0.029039 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表