记录一次python+selenium处理需要认证证书的网站

第一次写这种东西,有点紧张,写的不好不要介意啊,本文主要记录自已是如何处理网站证书问题的

前几天在使用selenium访问网站时,发现网站需要认证证书,第一次打开(即在driver.get())未加载完的时候就需要认证证书。
众所周知,python代码是一个从上到下,一步一步运行的代码,在你上一步没有执行完他是不会执行下一步的,所以,普通的点击或者其他事件就运行不了,无法解决这个认证证书弹窗问题。如下
记录一次python+selenium处理需要认证证书的网站
这样就会一直处于加载状态,直到超时。
代码会在下面贴上的!!
我在网上查了很多解决方法,网上基本都是说设置证书,让所有的浏览器都默认选择证书,不再弹窗出来,问题是我根本不晓得怎么设置这些麻烦的证书啊,所以被我pass掉了。
第二种方法是在代码里面做文章,这也是我最开始的想法,对于具体实现可是让我头疼,因为,.get有个特性,那就是加载的内容全部加载完毕后才会执行下面的代码。。。我的天,你这是要了我老命啊,幸得老天垂怜,然后不知在哪看到一篇多线程的文章,大概的意思就是弄一个子线程去操作弹窗,然后弹窗解决后子线程死掉,主线程继续运行!!可是问题来了,我不熟悉多线程啊,,没得办法,去看一下吧,,
记录一次python+selenium处理需要认证证书的网站import threading
import time
import pyautogui
from selenium import webdriver

driver = webdriver.Chrome()
driver.maximize_window()
def zs_get(url):
def press_enter():
time.sleep(3) #可以多等待几秒
pyautogui.press(“enter”) #按下键盘回车键
t = threading.Thread(target=press_enter)
t.setDaemon(True) #守护线程
t.start() #启动
dr = driver.get(url) #drver访问网址登陆页面
time.sleep(3)
pyautogui.press(“enter”)
return dr

子线程中主要是我发现按下回车键就可以把弹窗去掉,所以我就做了这样的操作,不用在去定位弹窗啥的了,哈哈哈,操作键盘的方式很多,可以自行去发现
然后自己可以输入响应的参数调用下,nice,完美

ps:对于python线程,其实是一种伪线程,因为python好像是做了“锁”,他只能一步一步运行,不能同时运行同文件里面的多个操作,具体我也不是特别清楚, 以后有时间再去了解