python - 如何通过 Selenium 在嵌入式 Linux 上使用 Chromium
问题描述
环境:
- 目标板上的嵌入式 linux 系统
- 安装了铬(不是谷歌浏览器)
- 我可以通过 /usr/bin/chromium www.google.com 访问
- 安装了 python 模块 selenium.webdriver
问题描述:
铬版本是“铬 71.0.3545.0 稳定版”,我的板上没有 google-chrome。lrwxrwxrwx 1 root root 34 Nov 29 00:14 /usr/bin/chromium -> /usr/lib/chromium/chromium-wrapper
我下载了“ChromeDriver 2.45”->“chromedriver_linux64.zip”,上面写着“支持 Chrome v70-72”,解压并将“chromedriver”放到 /usr/bin
然后我按照以下步骤进行操作并收到此类错误
Python 2.7.15 (default, Nov 26 2018, 01:36:34) [GCC 7.3.0] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from selenium.webdriver.chrome.options import Options >>> from selenium import webdriver >>> opts=Options() >>> opts.binary_location="/usr/bin/chromedriver" >>> driver=webdriver.Chrome(chrome_options=opts) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.7/site-p packages/selenium/webdriver/chrome/webdriver.py", line 73, in __init__ self.service.start() File "/usr/lib/python2.7/site- packages/selenium/webdriver/common/service.py", line 76, in start stdin=PIPE) File "/usr/lib/python2.7/subprocess.py", line 394, in __init__ errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1047, in _execute_child raise child_exception OSError: [Errno 8] Exec format error
解决方案
当您在目标板上使用嵌入式 linux 系统和Chromium 71.0时,"ChromeDriver 2.45" ->"chromedriver_linux64.zip"
您需要从此链接下载chromedriver-v2.21-linux-armv7l并在您的程序中使用它,如下所示:
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
opts=Options()
opts.binary_location='/path/to/chrome' #Chromium 71.0 executable binary
driver = webdriver.Chrome(chrome_options=opts, executable_path='/path/to/chromedriver.exe')
您可以在以下位置找到一些相关的讨论:
推荐阅读
- r - 将向量列表附加到向量列表中
- jsf - jsf commandbutton onclick如何改变按钮值
- python - 为什么在 Odoo 9 的瞬态模型中缺少二进制文件名字段?
- php - Docker Compose - XDebug - VScode 调试设置
- api - 持久性框架
- google-bigquery - 在 Native Bigquery Zeppelin Interpreter 中获取读取超时
- latex - 有些页面没有为我编号 - let\clearpage\relax
- javascript - 使用 jquery 确认时不会触发文件上传
- mongodb - WritableServerSelector 从集群描述中没有选择服务器
- rust - 在这个 Docopt 示例中,类型推导是如何工作的?