在使用selenium实现自动化访问测试环境地址时,由于测试环境没有正式的证书,导致访问站点的时候提示“您的连接不是私密连接”
解决方法一:访问站点前设置浏览器访问参数
# options = webdriver.ChromeOptions()# options.add_argument('ignore-certificate-errors')
实际结果:没有生效,问题仍存在
解决方法二:在出现提示时,直接在此页面上用键盘敲thisisunsafe(不是在输入框,直接在页面上硬输就行)。
实际结果:还要手动输入?那和出现页面提示时人工点击有什么区别
解决方案三:既然通过设置参数等方式不能规避这个问题,那么在出现这个页面时,直接定位元素点击继续访问不就可以了吗,解决方法简单粗暴有效。
实际结果:有效
解决过程:
from selenium import webdriverfrom mon.by import Byimport timedriver = webdriver.Chrome()driver.get("https://XXX/index.html#/login")time.sleep(1)# 在这里定位一下“高级”按钮,然后点击“继续前往”dd1 = driver.find_element(by=By.ID, value='details-button')dd1.click()dd2 = driver.find_element(by=By.ID, value='proceed-link')dd2.click()time.sleep(2)userName = driver.find_element(by=By.NAME, value='username')userName.clear()userName.clear()userName.send_keys('admin')passWord = driver.find_element(by=By.NAME, value='password')passWord.clear()passWord.click()passWord.send_keys('XXXXXX')loginButton = driver.find_element(by=By.TAG_NAME, value='button')loginButton.click()time.sleep(5)driver.quit()