1、需保证浏览器驱动为对应版本,官方给的下载驱动的地址为:https://developer.microsoft.com/zh-cn/microsoft-edge/tools/webdriver/
下载完驱动放在如下文件夹
2、edge浏览器默认安装路径为:C:\Program Files (x86)\Microsoft\Edge\Application
3、我解决问题的方法,增加配置代码:
edge_options.add_experimental_option("detach", True) # 解决selenium打开edge浏览器闪退问题
完整代码:
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