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