0
点赞
收藏
分享

微信扫一扫

解决selenium打开edge浏览器闪退问题


 1、需保证浏览器驱动为对应版本,官方给的下载驱动的地址为:https://developer.microsoft.com/zh-cn/microsoft-edge/tools/webdriver/
下载完驱动放在如下文件夹

解决selenium打开edge浏览器闪退问题_microsoft

解决selenium打开edge浏览器闪退问题_闪退_02编辑

2、edge浏览器默认安装路径为:C:\Program Files (x86)\Microsoft\Edge\Application

3、我解决问题的方法,增加配置代码:

edge_options.add_experimental_option("detach", True)  # 解决selenium打开edge浏览器闪退问题

解决selenium打开edge浏览器闪退问题_闪退_03

完整代码:

def purchase(self):
        down_path = "D:\\Temp"
        diy_prefs = {'profile.default_content_settings.popups': 0,'download.default_directory': '{0}'.format(down_path)}
        edge_options = Options()
        # 使用无头模式
        # edge_options.add_argument('--headless')# 无可视化界面设置 #
        # 禁用GPU,防止无头模式出现莫名的BUG
        # edge_options.add_argument('--disable-gpu')
        edge_options.add_experimental_option("detach", True)  # 解决selenium打开edge浏览器闪退问题
        edge_options.add_experimental_option('prefs', diy_prefs)

        # 将参数传给浏览器
        browser = webdriver.Edge(options=edge_options)
        browser.set_window_size(1280, 800)  # 分辨率 1280*800

        # 启动浏览器 uName,pWord
        # url = "https://id1.cloud.huawei.com/CAS/portal/loginAuth.html"
        # browser.get(url)
        # print(browser.title)

        # 关闭浏览器
        # browser.quit()
        self.login(browser,uName,pWord)
        pass

    def login(self,browser,uName,pWord):
        login_url = "https://id1.cloud.huawei.com/CAS/portal/loginAuth.html"
        browser.get(login_url)
        sleep(10)
        input_elements = browser.find_elements(By.CLASS_NAME, "hwid-input")
        txtUname = input_elements[0]
        txtPword = input_elements[1]
        txtUname.clear()
        txtPword.clear()
        txtUname.send_keys(uName)
        txtPword.send_keys(pWord)
        browser.find_element(By.CLASS_NAME, "hwid-login-btn").click()
        return True
        pass

解决selenium打开edge浏览器闪退问题_闪退_04

        


举报

相关推荐

0 条评论