python+edge+iedriver+selenium,driver.get后第二次调用driver卡住问题提问下

环境是win11,pycharm,其余所有插件都是最高版本,iedriver是最高的4.14,32位

一套通过selenium调用edge ie模式进行web自动化测试的先前自己写好一部分功能的代码,之前一直正常调用iedriver并正常执行,跑了许多遍都没问题,有问题也是新写的功能调试时出的问题

然后,写了一部分功能时,被领导通知先别写了,这一段时间先手动测试,然后就停了好几个月没动代码,也没跑过,期间电脑更换一次,重装了一遍win11系统,并把win11系统、edge浏览器、系统补丁、都升到了最新,前两天领导又说让继续写代码了,就把pycharm、selenium、selenium的所有之前用的插件、软件包又重新搭建起来,且都升到了最新版本(之前在几个月前写的时候也是当时的最新版本)

然后,调通了,继续跑吧,先把先前的代码跑起来才能表明环境恢复到正常了吧,结果edge ie模式刚打开内网192地址就不往下进行了,断点调试发现driver.get(ip)能成功执行(就是打开ip地址那步),但是这往后的driver.maximize_window()就一执行就卡住了,步进无输出,一直无限卡住不动(几个月前那一阵调的时候从没在这里卡住过),然后尝试让它最大化窗口,而跑别的driver.quit()、driver.close()、甚至再跑一遍driver.get(ip),等等一切第二次尝试调用webdriver.ie方法的代码,全部卡住,调试相关按键除了终止外都是灰色,控制台无输出,无限卡住

相对应的chromedriver部分的代码就没有问题,就iedriver一直卡住,调了一天,怀疑是不是一些插件升级造成的不兼容,把所有的相关插件全降级到上次调试的大致版本,不管用,把360,杀软,防火墙全关了,也不管用,任务管理器也查了,相关可能阻塞的进程都关闭过,电脑也重启过

网上搜遍资料,今天搜到一篇本坛里的,说了句

 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones    下边5个文件夹下的2500的值改成3

计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones   下边5个文件夹下的2500的值改成3

就查注册表,发现hklm那5个文件夹的前3个的2500就是3,但后两个的2500为0,把这两个改成了3,hkcu那5个只有一个有2500项,也是3,然后看ie选项没有保护模式的设置,有个internet安全级别是中高,改成了中,然后再跑发现能跑了不再卡住了!把这些策略恢复回去,也没再卡住,重启了遍系统,刚起来系统时跑,又原位置卡住一次,第二次之后又好了!

问题是,到头来也没弄明白它到底因为啥第二次调用driver就卡住啊,尝试恢复设置也不复现问题,不明不白的话,下次再有这个问题再卡住,还是不知道啊,太奇怪了,网上根本没有这个地方卡住的相关资料,有没有哪为大礻申能给讲讲到底是什么原因啊?感谢了!真的搜不到资料

    options = webdriver.IeOptions()
    ip = "http://192.168.1.39/"
    # options = self.options
    # ip = self.ip
    options.attach_to_edge_chrome = True
    options.edge_executable_path = "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"
    options.EnsureCleanSession = True
    options.ignore_protected_mode_settings = True
    options.ignore_zoom_level = True
    options.page_load_strategy = 'none'
    service = Service(executable_path=r"D:/IEDriverServer.exe")
    # ip_address = input("请输入设备ip地址:")
    driver = webdriver.Ie(service=service,options=options)
    # self.driver.get("http://"+ip_address)
    driver.get(ip)
   # time.sleep(1)
#    WebDriverWait(driver, 10, 1).until(EC.visibility_of_element_located((By.ID, 'login-username')))
    driver.maximize_window()

就最后那句跑的时候会卡住,现在倒是不卡住了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值