Edge 版本 119 是否破坏了 SeleniumBasic?

Did Edge version 119 break SeleniumBasic?

提问人:JoshSavage 提问时间:11/16/2023 最后编辑:JoshSavage 更新时间:11/21/2023 访问量:177

问:

我使用 VBA/Selenium/Edge 来自动化多个文件。几周前,我使用的是 Edge/Edge 驱动程序版本,一切正常。我星期一来上班,有 Edge 版本。更新了 Edge 驱动程序以匹配 .从那时起,两个 Edge/Driver 都已更新并出现相同的错误。它被挂断的代码部分是窗口的最大化。118119119.0.2151.44119.0.2151.58

带或不带的错误:SwitchToNextWindow

 Run-time error '23':

 NoSuchWindowError
 Window not found: no such window: target window already closed
 from unknown error: web view not found
  (Session info: MicrosoftEdge = 119.0.2151.58)
  (Driver info: msedgedriver = 119.0.2151.58  
  (33e26e7eb4fba096f2f29de91f90d34b8597be96),platform=Windows NT 10.0.19045 x86_64)

从视觉上看,会发生什么: 打开小框以选择用户名(由处理,因此它会自动消失。 Edge 窗口将打开并显示一条消息,指出用户已被选中。 鼠标移动以单击消息框上的“确定” 尝试最大化窗口时出现代码错误。 Edge 窗口将保持打开状态,直到/除非模块结束。SetCapability

代码:

Set oEdgeObject= CreateObject("Selenium.EdgeDriver")
    With oEdgeObject
    
    On Error GoTo SiteHandler

        .SetCapability "ms:edgeOptions", "{""excludeSwitches"":[""enable-automation""]}"
        .Start
        .Wait 1000

        Call LeftClick(600, 400)
        .Wait 1000
        
        .Window.Maximize

尝试过的事情: 不使用行自动选择配置文件。 已使用(导致错误,) 已使用(不会导致错误,但也不能解决错误。尝试多次使用它,以防万一它认为它又是几个窗口......没用。 在另一台仍具有 Edge 版本的计算机上按原样测试代码SetCapabilitySwitchToNextWindowwindow does not existSwitchToPreviousWindow118

目标: 打开 Edge,让用户登录,最大化窗口,执行其余代码。

编辑: 尝试在有和不使用 .自动登录,当我手动选择配置文件时,它会做同样的事情。打开一个外观正常的 Edge 窗口,并显示 X 用户已登录,并给出相同的错误。 已尝试在不手动选择和不手动选择配置文件的情况下使用。单击该命令会在小的伪 Edge 窗口中打开网站。该窗口无法最大化并且没有地址栏,并且我认为缺少其他多个内容。不幸的是,我太新了,无法发布图像。getSetCapabilitySetCapabilitygetSetCapabilityF8get

编辑版本:更新到 Edge/驱动程序版本 是的,当我说登录用户时,我的意思是 Edge 配置文件。 我尝试了多个 URL。默认情况下,我有一个变量,它根据我正在运行的模块填充网站。我尝试用 Google 地址手动填充变量。每次的结果都一样。SeleniumBasic-2.0.9.0119.0.2151.72

Excel VBA Selenium-WebDriver Microsoft-Edge

评论

0赞 pcalkins 11/17/2023
包括不尝试切换窗口时发生的异常。
0赞 pcalkins 11/17/2023
在最大化之前尝试使用 .get(),看看是否仍然抛出相同的错误。
0赞 Pieterjan 11/17/2023
可能最近发生了一些事情:stackoverflow.com/q/77488688/8941307
0赞 JoshSavage 11/17/2023
@pcalkins 更新了更多测试结果。
0赞 JoshSavage 11/17/2023
@Pieterjan谢谢你的链接。看起来那个人能够让他们的 Chrome 正常打开。不幸的是,让 Edge 做同样的事情是我目前遇到的问题。我无法在他们的线程上添加评论,但看起来他们缺少他们的行的右括号.send_keys(PASSWORD

答:

0赞 Elin Lu 11/20/2023 #1

现在不支持 Selenium 2,我们建议您更新到最新版本的 selenium(selenium 4 或更高版本)以查看此问题是否仍然存在。