这是代码
import random
from selenium import webdriver
from selenium.webdriver import ChromeOptions
import json
def browser_initial():
""""
进行浏览器初始化
"""
# 导入避免被发现是selenium的工具
option = ChromeOptions()
option.add_experimental_option('excludeSwitches', ['enable-automation'])
PROXY = '"'+get_ip()+'"'
chrome_opt = webdriver.ChromeOptions()
chrome_opt.add_argument('--proxy-server=%s' % PROXY)
browser = webdriver.Chrome(executable_path='../chromedriver.exe', chrome_options=chrome_opt,options=option)
# 未携带cookies打开网页
browser.get('https://www.taobao.com/')
return browser
def log_taobao(browser):
"""
从本地读取cookies并登录目标网页
"""
# 从本地读取cookies
with open('taobao_cookies.txt', 'r', encoding='utf8') as f:
listCookies = json.loads(f.read())
for cookie in listCookies:
cookie_dict = {
'domain': '.taobao.com',
'name': cookie.get('name'),
'value': cookie.get('value'),
'path': '/',
"expires": '',
'sameSite': 'None',
'secure': cookie.get('secure')
}
browser.add_cookie(cookie_dict)
# 更新cookies后进入目标网页
# browser.get(goal_url)
# time.sleep(50)
# browser.close()
browser.refresh() #刷新网页
def get_ip():
with open('./ip.text', 'r', encoding='utf8') as f:
ip_list = json.loads(f.read())
num = random.randint(0, len(ip_list))
str ="{0}:{1}".format(ip_list[num].get('ip'), ip_list[num].get('port'))
return str
if __name__ == '__main__':
tur = browser_initial()
browser=log_taobao(tur)
#browser.get(tur[0])
这是遇到的问题
selenium.common.exceptions.InvalidCookieDomainException: Message: invalid cookie domain
(Session info: chrome=89.0.4389.90)
可以确定的是 应该不是cookies多余的问题 原因是当我不使用get_ip这个函数获取ip时,程序可以正常运行,请大佬们看看是怎么个回事
人傻了,将本来的str当成int了