为了账号安全,请及时绑定邮箱和手机立即绑定

为什么使用 Selenium webdriver 在我的 Mac 上本地执行 JS

为什么使用 Selenium webdriver 在我的 Mac 上本地执行 JS

不负相思意 2021-08-24 17:04:15
Docker 环境: Docker Container、ubuntu:18.10、geckodriver-v0.23.0-linux64、selenium-3.14.1本地环境: Mac OSX、geckodriver-v0.23.0-linux64、selenium-3.14.1为什么在我的 Mac 本地执行 JS 可以正常工作,但在 Docker 容器中却不能?在 nfl.com 上触发错误的 Python 函数:def scroll_down(driver, value):    """ Scroll down some """    driver.execute_script("window.scrollBy(0,"+str(value)+")")来自 nfl.com 的追溯Traceback (most recent call last):  File "/app/foo/foo.py", line 159, in <module>    main()  File "/app/foo/foo.py", line 150, in main    detect_full_html_loaded(driver)  File "/app/foo/foo.py", line 55, in detect_full_html_loaded    scroll_down(driver, 1000)  File "/app/foo/foo.py", line 45, in scroll_down    driver.execute_script("window.scrollBy(0,"+str(value)+")")  File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 636, in execute_script    'args': converted_args})['value']  File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute    self.error_handler.check_response(response)  File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response    raise exception_class(message, screen, stacktrace)selenium.common.exceptions.WebDriverException: Message: Failed to decode response from marionette在 nytimes.com 和 sony.com 上触发错误的 Python 函数:def capture_screenshot(assets_dir, url, sleep, driver):    """ Take simple screenshot of above-the-fold """    driver.get(url)    time.sleep(sleep)    driver.set_window_size(1400, 700)    Image.open(BytesIO(driver.get_screenshot_as_png())).save(os.path.join(assets_dir,'screenshot.png'))    print('Created: "' + assets_dir  + 'screenshot.png' + '"')同样,这在本地工作正常。
查看完整描述

1 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

这是一个与@Andersson 建议的资源相关的问题。在 docker-compose.yml 中添加适当的 shm_size 修复了 Chrome 和 Firefox Gecko 网络驱动程序中的问题。

https://docs.docker.com/compose/compose-file/#shm_size


查看完整回答
反对 回复 2021-08-24
  • 1 回答
  • 0 关注
  • 219 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信