Python-安装无法解析容器中的硒模块

时间:2019-12-25 23:11:49

标签: python selenium docker

我正在尝试将主机安装到具有硒和chromeWebDrive的Docker容器中。我运行以下命令来启动容器。

docker run -d -p 4444:4444 -v ${PWD}:/dev/shm selenium/standalone-chrome

selenium / standalone-chrome是我从官方seleniumHQ存储库中找到的图像 https://github.com/SeleniumHQ/docker-selenium

在我的主机中,我有一个vs.code中看起来像这样的test.py文件。

from selenium import webdriver from selenium.webdriver.chrome.options import Options

但是,我收到来自我的vs代码的警告,提示unresolved import selenium

我的主机中没有安装硒,我希望改为使用docker。

有没有一种方法可以使我的vs代码识别docker内部的硒包?非常感谢!

1 个答案:

答案 0 :(得分:1)

我想您在chrome docker映像和selenium模块之间存在误解。让我尝试回答这个假设。如果我弄错了,请纠正我。

  

在我的主机中,我有一个vs.code中看起来像这样的test.py文件。

在selenium import webdriver 的行中, selenium 是python package,而 webdriver 是其中的模块之一< em> selenium 软件包。必须使用 pip 命令将该软件包安装在您的主机上,或者从您尝试调用test.py的任何位置安装。

pip install selenium # python 2
pip3 install selenium # python 3
  

docker run -d -p 4444:4444 -v $ {PWD}:/ dev / shm selenium / standalone-chrome

此命令启动充当中心和节点的独立chrome容器。另外请注意,此容器未随附硒包。您可以通过在浏览器中加载http://localhost:4444/wd/hub/static/resource/hub.html网址来查看会话。下面给出了示例测试。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains

desiredCapabilities={
"browserName":"chrome"
}

driver = webdriver.Remote(command_executor='http://localhost:4444/wd/hub',desired_capabilities = desiredCapabilities);

driver.get('https://www.google.com')
element = driver.find_element_by_link_text('Privacy')
ActionChains(driver) \
    .key_down(Keys.CONTROL) \
    .click(element) \
    .key_up(Keys.CONTROL) \
    .perform()
print(driver.title)
driver.quit()

下面是一些链接,以获取更多详细信息

  1. 设置python- http://allselenium.info/python-selenium-webdriver-environment-setup/

  2. 设置docker- http://allselenium.info/selenium-docker-parallel-execution-made-easy/

  3. 调试docker- http://allselenium.info/how-to-debug-tests-running-on-docker-containers/

希望这会有所帮助。