我正在尝试将主机安装到具有硒和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内部的硒包?非常感谢!
答案 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()
下面是一些链接,以获取更多详细信息
设置python- http://allselenium.info/python-selenium-webdriver-environment-setup/
设置docker- http://allselenium.info/selenium-docker-parallel-execution-made-easy/
调试docker- http://allselenium.info/how-to-debug-tests-running-on-docker-containers/
希望这会有所帮助。