AWS ec2 服务器上的 运行 Selenium Grid 时如何避免 SSLCertVerificationError

How to avoid SSLCertVerificationError when run Selenium Grid on AWS ec2 server

我通过 docker 在 AWS ec2 上构建了一个 Selenium Grid 云服务器, 和 DNS 指向 CloudFlare。

我使用 Selenium Grid API 来验证服务器状态。

$ curl -X GET https://<my-host>/status

Service looks well

但是当我 运行 robotframework

时我无法连接到服务器

这是我的代码示例。

Open Docker Browser
    [Arguments]    ${browserURL}    ${browserName}=${NONE}
    ${browserName} =    Evaluate    "${browserName}".capitalize()
    ${browserOptions} =    Evaluate    sys.modules['selenium.webdriver'].${browserName}Options()    sys, selenium.webdriver
    Call Method    ${browserOptions}    add_argument    --headless
    Call Method    ${browserOptions}    add_argument    --ignore-certificate-errors
    Call Method    ${browserOptions}    add_argument    --start-maximized
    Call Method    ${browserOptions}    add_argument    --allow-insecure-localhost
    ${options} =     Call Method     ${browserOptions}    to_capabilities
    Set To Dictionary    ${options}    browserName    ${DEFAULT_BROWSER}
    Set To Dictionary    ${options}    platform    ${DEFAULT_PLATFORM}
    ${executor} =    Evaluate    str("https://<my-host>")
    ${webdriver} =    Create Webdriver    Remote    alias=${browserName}    desired_capabilities=${options}    command_executor=${executor}
    Go to    ${browserURL}

This is error log

这似乎有一些 SSL 错误。 试了很多方法还是不行 有人也有这个问题吗? 谢谢。

我找到了解决方案,我更新了我的脚本。 并将 AWS 设置从 HTTPS 更新为 HTTP

${executor} =    Evaluate    str("example.com:80/wd/hub")

它应该会成功。