爬虫之selenium开启无界面模式

绝大多数服务器是没有界面的,selenium控制谷歌浏览器也是存在无界面模式的(又称之为无头模式)

  • 开启无界面模式的方法
    • 实例化配置对象
      • options = webdriver.ChromeOptions()
    • 配置对象添加开启无界面模式的命令
      • options.add_argument("--headless")
    • 配置对象添加禁用gpu的命令
      • options.add_argument("--disable-gpu")
    • 实例化带有配置对象的driver对象
      • driver = webdriver.Chrome(chrome_options=options)
  • 注意:macos中chrome浏览器59+版本,Linux中57+版本才能使用无界面模式!
  • 参考代码如下:
  • from selenium import webdriver
    
    options = webdriver.ChromeOptions() # 创建一个配置对象
    options.add_argument("--headless") # 开启无界面模式
    options.add_argument("--disable-gpu") # 禁用gpu
    
    # options.set_headles() # 无界面模式的另外一种开启方式
    driver = webdriver.Chrome(chrome_options=options) # 实例化带有配置的driver对象
    
    driver.get('http://www.itcast.cn')
    print(driver.title)
    driver.quit()

示例代码如下:

from selenium import webdriver

url = 'http://www.baidu.com'

#  创建配置对象
opt = webdriver.ChromeOptions()

#  添加配置参数
opt.add_argument('--headless')
opt.add_argument('--disable-gpu')

#  创建浏览器对象的时候添加配置对象
driver = webdriver.Chrome(chrome_options=opt)
driver.get(url)
driver.save_screenshot('baidu_views.png')

运行效果:

selenium add_argument 参数表:

https://peter.sh/experiments/chromium-command-line-switches/

chrome_options.add_argument('--user-agent=""')  # 设置请求头的User-Agent
chrome_options.add_argument('--window-size=1280x1024')  # 设置浏览器分辨率(窗口大小)
chrome_options.add_argument('--start-maximized')  # 最大化运行(全屏窗口),不设置,取元素会报错
chrome_options.add_argument('--disable-infobars')  # 禁用浏览器正在被自动化程序控制的提示
chrome_options.add_argument('--incognito')  # 隐身模式(无痕模式)
chrome_options.add_argument('--hide-scrollbars')  # 隐藏滚动条, 应对一些特殊页面
chrome_options.add_argument('--disable-javascript')  # 禁用javascript
chrome_options.add_argument('--blink-settings=imagesEnabled=false')  # 不加载图片, 提升速度
chrome_options.add_argument('--headless')  # 浏览器不提供可视化页面

chrome_options.add_argument('--ignore-certificate-errors')  # 禁用扩展插件并实现窗口最大化
chrome_options.add_argument('--disable-gpu')  # 禁用GPU加速
chrome_options.add_argument('–disable-software-rasterizer')
chrome_options.add_argument('--disable-extensions')
chrome_options.add_argument('--start-maximized')

  • 4
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 当使用Selenium的无界面模式时,有时候可能会遇到报错的情况。这可能是因为您的浏览器版本不兼容无界面模式,或者您的代码中存在错误。请确保您的浏览器版本符合要求,对于macOS系统,需要使用Chrome浏览器的59+版本,对于Linux系统,需要使用Chrome浏览器的57+版本才能使用无界面模式。另外,请检查您的代码是否正确配置了无界面模式的参数,例如使用`--headless`参数开启界面模式,并禁用GPU使用`--disable-gpu`参数。如果问题仍然存在,请提供具体的报错信息,以便更好地帮助您解决问题。 #### 引用[.reference_title] - *1* [爬虫selenium开启界面模式](https://blog.csdn.net/weixin_44799217/article/details/112973096)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [python + selenium在有界面模式下正常,在无界面模式下运行报错Message: element not interactable](https://blog.csdn.net/weixin_59657678/article/details/127970084)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值