首页 > 解决方案 > Selenium 远程 webdriver 不接受 Synology Nas 中的 chrome 选项。在桌面上工作正常

问题描述

从 windows 更改为 synology 破坏了我的 docker compose。现在不听 chrome 选项来购买 selenium 容器。下载位置已更改,并要求下载确认。

我已经构建了一个 python 应用程序来登录下载报告。我用两个单独的容器将它 dockerise。一个 selenuim 独立的 chrome 浏览器和 ptyhon 3 图像。它在我的 Windows 10 PC 上运行良好。

但是当我在我的 DS918+ chrome 上设置它时,chrome 容器中没有收听一些 chrome 选项。如果我使用调试,我可以在 vnc 中手动确认,它确实可以下载。

对 Chrome 选项有任何帮助吗?

编写文件

version: '3'

services:
    pythoncode:
        build: ./app
        volumes:
            - ./app:/usr/src/app

        networks:
            testing_net:
                ipv4_address: 172.28.1.1
        environment: 
            - PYTHONUNBUFFERED=1
            - EmailUser=
            - EmailSender=
            - EmailPass=
            - NZCUser=
            - NZCPass=

    browser:
        image: selenium/standalone-chrome-debug

        ports:
            - "4444:4444"
            - "5900:5900"
        volumes:
            - ./app/Downloads:/home/seluser/Downloads
        depends_on: 
            - pythoncode
        networks:
            testing_net:
                ipv4_address: 172.28.1.2

networks:
    testing_net:
        ipam:
            driver: default
            config:
                - subnet: 172.28.0.0/16

蟒蛇选项

capabilities_chrome = {
        'browserName': 'chrome',
        # 'proxy': { \
        # 'proxyType': 'manual',
        # 'sslProxy': '50.59.162.78:8088',
        # 'httpProxy': '50.59.162.78:8088'
        # },
        'goog:chromeOptions': {
            'args': [
            ],
            'prefs': { \
                # 'download.default_directory': "",
                # 'download.directory_upgrade': True,
                'download.prompt_for_download': False,
                'plugins.always_open_pdf_externally': True,
                'safebrowsing_for_trusted_sources_enabled': False
            }
        }
    }

    # driver = webdriver.Chrome(
    #     executable_path=, desired_capabilities=capabilities_chrome)
    driver = webdriver.Remote(
        'http://172.28.1.2:4444/wd/hub', capabilities_chrome)

硒调试报告

2020-03-17 17:01:08,955 INFO stopped: xvfb (terminated by SIGTERM)
2020-03-17 17:01:08,954 INFO stopped: fluxbox (terminated by SIGTERM)
2020-03-17 17:01:08,951 INFO stopped: vnc (terminated by SIGTERM)
2020-03-17 17:01:08,950 INFO stopped: selenium-standalone (terminated by SIGTERM)
2020-03-17 17:01:08,949 INFO waiting for xvfb, selenium-standalone, vnc, fluxbox to die
2020-03-17 17:01:08,949 WARN received SIGTERM indicating exit request
Trapped SIGTERM/SIGINT/x so shutting down supervisord...
17:01:03.576 INFO [ActiveSessions$1.onStop] - Removing session f885300040124a841b3627e1fdf57233 (org.openqa.selenium.chrome.ChromeDriverService)
[1584464415.350][SEVERE]: Timed out receiving message from renderer: 0.100
[1584464415.248][SEVERE]: Timed out receiving message from renderer: 0.100
[1584464415.146][SEVERE]: Timed out receiving message from renderer: 0.100
[1584464414.961][SEVERE]: Timed out receiving message from renderer: 0.100
17:00:14.392 INFO [RemoteSession$Factory.lambda$performHandshake$0] - Started new session f885300040124a841b3627e1fdf57233 (org.openqa.selenium.chrome.ChromeDriverService)
17:00:14.338 INFO [ProtocolHandshake.createSession] - Detected dialect: W3C
[1584464411.379][SEVERE]: bind() failed: Cannot assign requested address (99)
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
Only local connections are allowed.
Starting ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}) on port 2548
17:00:11.227 INFO [ActiveSessionFactory.lambda$apply$11] - Matched factory org.openqa.selenium.grid.session.remote.ServicedSession$Factory (provider: org.openqa.selenium.chrome.ChromeDriverService)
}
  }
    }
      "safebrowsing_for_trusted_sources_enabled": false
      "plugins.always_open_pdf_externally": true,
      "download.prompt_for_download": false,
    "prefs": {
    ],
    "args": [
  "goog:chromeOptions": {
  "browserName": "chrome",
17:00:11.223 INFO [ActiveSessionFactory.apply] - Capabilities are: {
17:00:10.515 INFO [SeleniumServer.boot] - Selenium Server is up and running on port 4444
17:00:10.317 INFO [WebDriverServlet.<init>] - Initialising WebDriverServlet
2020-03-17 17:00:09.747:INFO::main: Logging initialized @1154ms to org.seleniumhq.jetty9.util.log.StdErrLog
17:00:09.634 INFO [GridLauncherV3.lambda$buildLaunchers$3] - Launching a standalone Selenium Server on port 4444
17:00:09.306 INFO [GridLauncherV3.parse] - Selenium server version: 3.141.59, revision: e82be7d358
2020-03-17 17:00:09,298 INFO success: selenium-standalone entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2020-03-17 17:00:09,298 INFO success: vnc entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2020-03-17 17:00:09,298 INFO success: fluxbox entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2020-03-17 17:00:09,298 INFO success: xvfb entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2020-03-17 17:00:08,296 INFO spawned: 'selenium-standalone' with pid 14
2020-03-17 17:00:08,294 INFO spawned: 'vnc' with pid 13
2020-03-17 17:00:08,292 INFO spawned: 'fluxbox' with pid 12
2020-03-17 17:00:08,290 INFO spawned: 'xvfb' with pid 11
2020-03-17 17:00:07,287 INFO supervisord started with pid 8
2020-03-17 17:00:07,283 INFO Included extra file "/etc/supervisor/conf.d/selenium.conf" during parsing
2020-03-17 17:00:07,283 INFO Included extra file "/etc/supervisor/conf.d/selenium-debug.conf" during parsing

标签: python-3.xselenium-webdriverdocker-compose

解决方案


推荐阅读