本帖最后由 珍珠奶茶丶板牙 于 2021-12-2 14:23 编辑
[Python] 纯文本查看 复制代码 class WebDriver:
def __init__(self):
self._options = webdriver.ChromeOptions()
self._options.add_argument('--disable-infobars') # 禁止策略化
self._options.add_argument('--no-sandbox') # 解决DevToolsActivePort文件不存在的报错
self._options.add_argument('window-size=1920x3000') # 指定浏览器分辨率
self._options.add_argument('--disable-gpu') # 谷歌文档提到需要加上这个属性来规避bug
self._options.add_argument('--incognito') # 隐身模式(无痕模式)
self._options.add_argument('--start-maximized') # 最大化运行(全屏窗口),不设置,取元素会报错
self._options.add_argument('--hide-scrollbars') # 隐藏滚动条, 应对一些特殊页面
self._options.add_argument('--ignore-certificate-errors') # 无视ssl证书
self._options.add_argument('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36')
# self._options.add_argument('--headless') # 浏览器不提供可视化页面
# self._options.add_argument('--disable-javascript') # 禁用javascript
# self._options.add_argument('blink-settings=imagesEnabled=false') # 不加载图片, 提升速度
self._prefs = {}
# 设置这两个参数就可以避免密码提示框的弹出
self._prefs['credentials_enable_service'] = False
self._prefs['profile.password_manager_enabled'] = False
# self._prefs['profile.managed_default_content_settings.images'] = 2 # 不显示图片提高代码速度
self._options.add_experimental_option('prefs', self._prefs)
self._driver = webdriver.Chrome(service=Service(r"./chromedriver"), options=self._options)
def get_driver(self):
return self._driver 拿着driver去做其他操作吧 |