Selenium和Docker:我无法加载自定义Chrome用户个人资料

时间:2018-09-25 03:23:22

标签: selenium docker selenium-webdriver selenium-chromedriver

几天前,我打开了一个问题,但显然不是问题,但我的问题仍然存在。我希望有人可以帮助我了解问题所在:D

https://github.com/SeleniumHQ/docker-selenium/issues/790

恢复:

我正在尝试在docker计算机中使用selenium + javascript运行测试。 测试运行正常,但我无法加载添加的用户个人资料:

options.addArguments(`user-data-dir=/miCustomProfilePath`);

如果我使用图像node-chrome-debug执行测试,则可以检查配置,确保路径始终类似于:

/tmp/.org.chromium.Chromium.iBLIx2/Default

Docker撰写:

version: "2" services: selenium-hub: image: selenium/hub:latest container_name: selenium-hub ports: - "4444:4444" chrome: image: selenium/node-chrome-debug:latest depends_on: - selenium-hub ports: - "5900:5900" volumes: - /dev/shm:/dev/shm - /Users/osvaldo/profiles/custom_profile:/home/seluser/custom_profile environment: - HUB_HOST=selenium-hub - NODE_MAX_INSTANCES=5 - NODE_MAX_SESSION=5

JavaScript代码:

    let options = new chrome.Options();
    options.addArguments(`user-data-dir=/home/seluser/custom_profile`);

    driver = new webdriver.Builder()
        .forBrowser('chrome')
        .setChromeOptions(options)
        .usingServer('http://localhost:4444/wd/hub')
        .build();

我尝试从控制台生成配置文件,并使用新的user-data-dir运行测试。 在Debian和Mac上同样的问题。 你知道问题出在哪里吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我发现我们应该设置goog:chromeOptions而不是chromeOptions的功能。如果我们有正确的绑定,应该自动完成。我将硒版本更改为3.14,并将其功能设置为goog:chromeOptions并加载了我的自定义chrome配置文件

我通过此链接找到了它 https://github.com/elgalu/docker-selenium/issues/201