selenium.webdriver加入cookie

# 加入cookie,去掉domain加cookie方法
import requests
from lxml import etree
from time import sleep
from random import randint
import pandas as pd
from selenium import webdriver
from selenium.webdriver.common.by import By
# from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from multiprocessing import Process
import threading
import re
from tqdm import tqdm
from selenium.webdriver.chrome.options import Options
from urllib.parse import unquote

options = Options()
#options.add_argument('--headless')

driver = webdriver.Chrome(options=options)  # executable_path="D:\Program Files\python3.7\chromedriver.exe"
cookie_dict = {}

driver.get('https://www.url')
sleep(1)
def parse_cookie_string(cookie_string):
    cookies = []
    for line in cookie_string.splitlines():
        if '=' in line:
            key, value = line.split('=', 1)
            # 如果 cookie 值中包含额外的键值对,则需要进一步解析
            if ';' in value:
                parts = value.split(';')
                main_value = parts[0]
                attributes = {}
                for part in parts[1:]:
                    if '=' in part:
                        attr_key, attr_value = part.strip().split('=', 1)
                        attributes[attr_key] = unquote(attr_value)
                    else:
                        attributes[part.strip()] = True
                cookies.append({'name': key, 'value': unquote(main_value), **attributes})
            else:
                cookies.append({'name': key, 'value': unquote(value)})
    return cookies

# 提供的 cookies 字符串
cookie_string = """
抓包信息粘贴
"""

# 解析 cookies 字符串
cookies_list = parse_cookie_string(cookie_string)
# 添加 cookies 到浏览器会话
for cookie in cookies_list:
    driver.add_cookie(cookie)
# 刷新页面以使 cookies 生效
driver.refresh()
要获取XHR返回的信息,您可以使用Selenium的`WebDriverWait`和`expected_conditions`来等待XHR请求完成,并通过`browser.execute_script()`方法执行JavaScript代码来获取XHR的响应。以下是一种可能的实现方法: ```python import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC def login_bp(url, username, password): # 创建一个浏览器实例 options = webdriver.EdgeOptions() options.add_experimental_option('detach', True) # 打开登录页面 browser = webdriver.Edge() browser.get(url) # 找到用户名输入框并输入密码 username_input = WebDriverWait(browser, 10).until(EC.visibility_of_element_located((By.ID, 'username'))) username_input.send_keys(username) # 找到密码输入框并输入密码 password_input = WebDriverWait(browser, 10).until(EC.visibility_of_element_located((By.ID, 'password'))) password_input.send_keys(password) # 模拟回车键,提交表单 login_btn = browser.find_element(by=By.ID, value='denglub') login_btn.click() # 等待XHR请求完成 time.sleep(5) # 等待XHR请求完成的时间(根据实际情况调整) # 执行JavaScript代码,获取XHR的响应 response = browser.execute_script("return performance.getEntries()[0].response") print("XHR Response:", response) return 0 if __name__ == '__main__': # 定义目标信息 atr_url = { 'url': 'http://pfs.ikhtech.com/FAPI/login.jsp', 'username': 'zhangwei', 'password': 'zhangwei' } login_bp(atr_url['url'], atr_url['username'], atr_url['password']) ``` 在上述代码中,我们使用`time.sleep()`方法来等待XHR请求完成,然后使用`browser.execute_script()`方法执行JavaScript代码,通过`performance.getEntries()[0].response`来获取XHR的响应。请根据实际情况调整等待时间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小蜗笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值