python 使用selenum之模拟登陆只需俩步

    xiaoxiao2022-06-27  209

    文章目录

    ***需求***:我的这个方法优点:**1、之前的笨方法****2、简单方法**简单方法步骤:步骤1获取cookies列表:步骤2:

    需求:

    有些网站的一些网页需要登陆才可以的。这时候就是需要借助python的selenium的模块,我突然找到一个更方便的方法。

    我的这个方法优点:

    不用使用找到相关登陆框输入账号密码,也不用一个一个查找cookie,省时省力。

    1、之前的笨方法

    先说一下我之前用的笨方法,之前是模拟一个招聘网站,至于那个网站就不公布了,然后我再网站如下图(?)的地方,进行一个一个cookie删除,最终找到和登陆相关的俩个cookie,把俩个cookie加到selenium里面,也能实现模拟登陆功能。

    2、简单方法

    今天我突然灵机一动,想到一个简单方法。这个方法主要思路就是先写个代码,访问网站主要,使用python的time模块,停留30秒,这段使用你用来登陆自己的账号,然后代码打印处理你登陆后的cookies,这样就可以找到所以cookies,然后把这些cookies一个一个加入到下一个代码里面,就能实现模拟登陆的功能了,这个时间比之前省了很多。之前的方法一个一个cookie删除刷新,删除刷新,搞了我一俩个小时,才找到是和俩个cookie相关,俩个cookie同时删除才能到,所以如果其他网站和登陆的cookie相关个数增加2个或者以上,那样时间不止一俩个小时了。而这样几分钟就搞定了。

    简单方法步骤:

    不多说,直接上代码:

    步骤1获取cookies列表:

    from selenium import webdriver import time import random driver = webdriver.Chrome() url = "https://search.jd.com/Search?keyword=手机&enc=utf-8&page=1&s=1" driver.get(url) # 等待时间用来获取cookie time.sleep(30) # 这个时间用来自己手动登陆 cookie = driver.get_cookies() # 这个就是需要的cookie列表 print('cookie',cookie)

    步骤2:

    from selenium import webdriver import time import random driver = webdriver.Chrome() driver.implicitly_wait(10) # url = "https://search.jd.com/Search?keyword=手机&enc=utf-8&page=1&s=1" url = "https://search.jd.com/Search?keyword=裤子&enc=utf-8&page=1&s=1" driver.get(url) # time.sleep(30) cookies = “这个是上一步打印出来的cookies列表,不用改格式,因为本身就是selenium打印出来的格式,他需要的也是这样的格式” for cookie in cookies: # 只能一个一个加入 driver.add_cookie(cookie) time.sleep(1) # 再次访问你需要的url,看看是不是可以登陆了。 driver.get(url) time.sleep(2)

    最新回复(0)