selenium+docker 遇到的问题
镜像3个 分别是 selenium/hub,selenium/node-firefox,selenium/node-chorme
出现错误:from unknown error: cannot determine loading status from tab crashed (Session info: headless chrom
解决方法:删除chrome 容器,重新创建 并且加入 内存大小先选个 -m 2G 我的是docker run -P -d --link hub:hub -m 2G --name chrome selenium/node-chrome
三个创建命分别是
docker run –p 5555:4444 –d –name hub selenium/hub
docker run -P -d --link hub:hub --name firefox selenium/node-firefox
docker run -P -d --link hub:hub -m 2G --name chrome selenium/node-chrome
如果提示找不到元素
解决办法,下面包括如何添加选项无头模式,显示等待。
from selenium import webdriver from time import sleep from selenium.webdriver import ChromeOptions from selenium.webdriver.support.ui import WebDriverWait chrome_options = ChromeOptions() chrome_options.add_argument("--headless") #chrome_options.add_argument('--disable-extensions') chrome_options.add_argument("--no-sandbox") driver = webdriver.Remote( command_executor='http://127.0.0.1:5555/wd/hub', desired_capabilities={'browserName': 'chrome'},options=chrome_options ) try: driver.get('https://www.baidu.com') print("get baidu") sleep(2) element = WebDriverWait(driver,5).until(lambda x:x.find_element_by_id("kw")) element.send_keys("aaaa") #sleep(2) driver.find_element_by_id("su").click() sleep(1) driver.get_screenshot_as_file("/root/Videos/baidu_img.png") finally: driver.quit() print("end...")