Linux root 用户下 selenium 运行chrome --no-sandbox的问题的解决

部署运行你感兴趣的模型镜像
#coding = utf-8
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("--no-sandbox")
browser = webdriver.Chrome("/root/note/Python/myTools/Scrapy/driver/chromedriver",chrome_options=options)

browser.get("https://www.baidu.com")

print(browser.page_source)

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

代码 `options.add_argument("--no-sandbox")` 是在配置 Chrome 浏览器选项时使用的,主要用于 Chrome 浏览器的自动化测试或爬虫程序中,以下是关于它的详细信息: ### 用途 `options.add_argument("--no-sandbox")` 用于禁用 Chrome 浏览器的沙箱安全机制。沙箱是一种安全隔离机制,它可以限制浏览器进程的权限,防止恶意代码在浏览器进程中执行时对系统造成损害。在自动化测试或爬虫程序中,有时沙箱机制可能会与运行环境发生冲突,导致浏览器无法正常启动,此时可以通过禁用沙箱来解决问题。 ### 使用场景 - **在 Docker 容器中运行**:在 Docker 容器内运行 Chrome 浏览器时,由于容器本身已经提供了一定的隔离环境,沙箱机制可能会与容器的权限管理产生冲突,导致 Chrome 无法正常启动。此时可以使用 `--no-sandbox` 选项来禁用沙箱。 - **以 root 用户身份运行**:在某些情况下,可能需要以 root 用户身份运行 Chrome 浏览器,而沙箱机制默认不允许以 root 用户身份运行,因此需要禁用沙箱。 ### 可能遇到的问题解决办法 - **安全风险**:禁用沙箱会使浏览器进程失去沙箱的保护,增加了系统被攻击的风险。如果在不可信的环境中运行,恶意代码可能会利用浏览器的漏洞对系统进行攻击。 - **解决办法**:尽量避免在生产环境中使用 `--no-sandbox` 选项。如果必须使用,可以在安全的环境中运行,例如在受信任的内部网络中,或者对系统进行严格的安全配置和监控。 - **兼容性问题**:在某些系统或环境中,禁用沙箱可能会导致 Chrome 浏览器出现兼容性问题,例如页面渲染异常、插件无法正常工作等。 - **解决办法**:尝试更新 Chrome 浏览器到最新版本,或者检查系统的依赖库是否完整。如果问题仍然存在,可以尝试使用其他浏览器或调整浏览器的配置选项。 以下是示例代码,展示了如何在 Python 中使用 `--no-sandbox` 选项: ```python from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument('--no-sandbox') options.add_argument('--headless') options.add_argument('--window-size=1440,1080') options.add_argument('--disable-extensions') options.add_argument('--disable-setuid-sandbox') options.add_argument('--disable-dev-shm-usage') options.add_argument('--disable-gpu') options.add_experimental_option('excludeSwitches', ['enable-automation']) options.add_argument('user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"') driver = webdriver.Chrome(options=options) url = 'https://www.baidu.com/' driver.get(url) ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值