You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
921 B
25 lines
921 B
import json
|
|
|
|
from selenium import webdriver
|
|
|
|
|
|
def create_chrome_driver(*, headless=False):
|
|
options = webdriver.ChromeOptions()
|
|
if headless:
|
|
options.add_argument('--headless') # 不显示浏览器窗口
|
|
options.add_experimental_option('excludeSwitches', ['enable-automation']) # 防止识别Selenium驱动浏览器
|
|
options.add_experimental_option('useAutomationExtension', False)
|
|
browser = webdriver.Chrome(options=options,executable_path=r'chromedriver.exe')
|
|
browser.execute_cdp_cmd(
|
|
'Page.addScriptToEvaluateOnNewDocument',
|
|
{'source': 'Object.defineProperty(navigator, "webdriver", {get: () => undefined'} # 修改浏览器标识
|
|
)
|
|
return browser
|
|
|
|
|
|
def add_cookies(browser, cookie_file):
|
|
with open(cookie_file, 'r') as file:
|
|
cookies_list = json.loads(file.read())
|
|
for cookie_dict in cookies_list:
|
|
browser.add_cookie(cookie_dict)
|