Как использовать хром на встроенном Linux через Selenium - PullRequest
0 голосов
/ 25 января 2019

Среда:

  1. встроенная система Linux на целевой плате
  2. с установленным хромом (не Google Chrome)
  3. Я могу получить доступ с помощью / usr / bin / chromiumwww.google.com
  4. с установленным модулем Python selenium.webdriver

Описание проблемы:

  1. версия хрома - это Chromium 71.0.3545.0стабильный "и нет гугл-хром на моей доске.lrwxrwxrwx 1 root root 34 ноября 29 00:14 / usr / bin / chromium -> / usr / lib / chromium / chromium-wrapper

  2. Я скачал «ChromeDriver 2.45» -> «chromedriver_linux64».zip ", который сказал" Поддерживает Chrome v70-72 ", разархивируйте и поместите" chromedriver "в / usr / bin

  3. Затем я сделал следующие шаги и получил такую ​​ошибку

    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
    

1 Ответ

0 голосов
/ 25 января 2019

Поскольку вы используете встроенную систему 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')

Пару соответствующих обсуждений можно найти в:

...