💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
**1. 两种浏览器的使用环境** ```python # 无头浏览器,适合部署到服务器时使用,但是容易被反爬 driver = webdriver.PhantomJS() # 有头浏览器,适合用在开发过程中 driver = webdriver.Chrome() ``` <br/> **2. Chrome浏览器的无头模式** >绝大多数服务器是没有界面的,selenium控制谷歌浏览器也可以做到无界面开启。 macOS中Chrome59+版本,Linux中57+版本,Windows中6+版本才支持; 使用`webdriver.PhantomJS()`容易被反爬,那么我们可以通过使用一些配置来实现这个功能。 ```python from selenium import webdriver # 1. 创建配置对象 opt = webdriver.ChromeOptions() # 2. 添加配置参数 opt.add_argument('--headless') opt.add_argument('--disable-gpu') # 代理ip opt.add_argument('--proxy-server=http://202.20.16.82:9527') # User-Agent opt.add_argument('--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36') # 3. 加载驱动 driver = webdriver.Chrome(chrome_options=opt) # 4. 请求浏览器,开启无头模式后就不会打开浏览器了 driver.get('https://www.baidu.com/') # https://www.baidu.com/ print(driver.current_url) ``` <br/> **3. 其它常用配置** ```python  # 隐身模式(无痕模式) options.add_argument('--incognito') # 禁用javascript options.add_argument('--disable-javascript')  # 禁止策略化 options.add_argument('--disable-infobars')  # 解决DevToolsActivePort文件不存在的报错 options.add_argument('--no-sandbox') # 指定浏览器分辨率 options.add_argument('window-size=1920x3000')  # 谷歌禁用GPU加速 options.add_argument('--disable-gpu') # 最大化运行(全屏窗口),不设置,取元素会报错 options.add_argument('--start-maximized') # 隐藏滚动条, 应对一些特殊页面 options.add_argument('--hide-scrollbars') # 不加载图片, 提升速度 options.add_argument('blink-settings=imagesEnabled=false')  # 浏览器不提供可视化页面(无头模式) # linux下如果系统不支持可视化不加这条会启动失败 options.add_argument('--headless')  # 手动指定使用的浏览器位置 options.binary_location = r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"  # 设置语言 options.add_argument('lang=en_US') # User-Agent options.add_argument('--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) ' \ 'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36') # 屏蔽'保存密码'提示框 prefs = {"":""} prefs["credentials_enable_service"] = False prefs["profile.password_manager_enabled"] = False chrome_option_set.add_experimental_option("prefs", prefs) # 针对chrome76版本及以上版本,需要去掉Chrome提示受到自动软件控制时使用 # 去掉Chrome提示受到自动软件控制 option.add_argument('disable-infobars') # 在chrome76版本及以上版本,需要使用 # 以开发者模式启动调试chrome,可以去掉提示受到自动软件控制 chrome_options.add_experimental_option('excludeSwitches', ['enable-automation']) # 去掉提示以开发者模式调用 chrome_options.add_experimental_option('useAutomationExtension', False) #这样就可以静默打印,直接使用默认打印机进行打印。 # 如需是Chrome全屏+静默打印: 使用" --kiosk --kiosk-printing" # 浏览器默认是全屏显示,而且Esc、F11和鼠标右键都无法使用,在软件编程时, # 使用JS调用浏览器打印功能时,会跳过打印预览,直接进行打印操作。 chrome_options.add_argument('--kiosk-printing') ```