代码如下
from selenium import webdriver
from selenium.webdriver import ChromeOptions
import json
import time
def browser_initial():
""""
进行浏览器初始化
"""
browser = webdriver.Chrome(executable_path='../chromedriver.exe')
goal_url = 'https://www.taobao.com/?spm=a230r.1.1581860521.1.30316359HLdX8n'
# 未携带cookies打开网页
browser.get('https://www.taobao.com/')
return goal_url, 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()
return browser
if __name__ == '__main__':
tur = browser_initial()
browser=log_taobao(tur[1])
# 导入避免被发现是selenium的工具
option = ChromeOptions()
option.add_experimental_option('excludeSwitches', ['enable-automation'])
PROXY = "122.143.83.9:4278"
chrome_opt = webdriver.ChromeOptions()
chrome_opt.add_argument('--proxy-server=%s' % PROXY)
browser = webdriver.Chrome(executable_path='D:\Learn\PyCharm\项目制作_1\chromedriver.exe', chrome_options=chrome_opt)
browser.get(tur[0])
代码中主要问题,第二个browser虽然设置了代理,但是没有传入cookie。可将选项放在浏览器初始化中设置。
当我不使用代理时 也就是 54-57行代码,可以实现访问某宝并且自动登录,但是用上代理就不行了,求解,谢谢大佬了