注意这里使用的是chrom浏览器、所以要下载对应版本的chromdriver.exe工具、且放在同一文件目录下或者在电脑中设置环境变量、或者放在pycharm安装目录下的 E:\installDir\python\Scripts 路径下即可
chromedriver-120.exe
from selenium import webdriver
#webdriver.ChromeOptions() 此对象用于配置浏览器的选项、这里的detach=true意味着当浏览器关闭时、浏览器进程继续在后台运行
options = webdriver.ChromeOptions()
options.add_experimental_option("detach", True)
driver = webdriver.Chrome(options=options)
#driver = webdriver.Chrome(executable_path="./chromedriver-120.exe", options=options)
#url1 = "https://www.xinpianchang.com/discover/article-1-0?utm_source=xpcWeb&utm_medium=navigatorCate&index=4"
url2 = "https://www.baidu.com"
#driver.get(url1)
driver.get(url2)
#回到上一个页面
#driver.back()
#进到下一个页面
#driver.forward()
#和页面中的元素交互
#先声明要操作的元素、这里的id和kw对应的是百度里的搜索栏里的对应的id=kw值
#创建元素对象
send_k = driver.find_element("id","kw") #这里的find_element()主要是以id来定义元素框的位置
#找到百度中的搜索框后要对搜索框操作、send_key发送值
send_k.send_keys("北京")
#发送搜索的内容后要点击搜索按钮、到百度里找到对应的id和value
click_k = driver.find_element("id","su")
click_k.click() #点击
#获取页面中的内容、保存到变量 、获取html源码
content = driver.page_source
print(content)
#cookie的API、用来控制浏览器账户以及一些缓存的API
driver.get_cookie()
#deriver.close()
cookie的使用
获取cookie操作
get_cookies.py
"""
获取网页登录的cookie
"""
from selenium import webdriver
import json
options = webdriver.ChromeOptions()
options.add_experimental_option("detach", True) #防止网页自动关闭
driver = webdriver.Chrome(options=options)
#新电影网
url = "https://passport.xinpianchang.com/login?redirect_uri=https%3A%2F%2Fwww.xinpianchang.com%2Fuser%2F14390601&mode=quick&type=phone"
#注意在打开网页后要先手动登录
driver.get(url)
#获取cookie、是一个列表
cookies =driver.get_cookies()
#将获取的cookies转化为字符串格式序列化
cookies_str = json.dumps(cookies)
#将拿到的cookies保存在cookies.txt文本中
with open("cookies1.txt", "w", encoding="utf-8") as file:
file.write(cookies_str)
使用已获取到的cookie进行登录
"""
在获取到了cookie前提下实现自动登录
"""
from selenium import webdriver
import json
options = webdriver.ChromeOptions()
options.add_experimental_option("detach", True)
driver = webdriver.Chrome(options=options)
#打开网页
#url = "https://kyfw.12306.cn/otn/resources/login.html"
url = "https://passport.xinpianchang.com/login?redirect_uri=https%3A%2F%2Fwww.xinpianchang.com%2Fuser%2F14390601&mode=quick&type=phone"
driver.get(url)
#读取cookie
with open("cookies1.txt", "r", encoding="utf-8") as file:
cookies_str = file.read()
#将字符串反序列化为json格式
cookies = json.loads(cookies_str)
#将cookie注入浏览器、且要迭代一个一个注入
for cookie in cookies:
driver.add_cookie(cookie)
#登录后再打开首页、查看是否已经登录
driver.get("https://www.xinpianchang.com/")
标签:webdriver,cookies,get,selenium,driver,爬虫,cookie,options
From: https://www.cnblogs.com/littlecc/p/17949428