相关疑难解决方法(0)

Windows docker容器内的硒失败,出现ff / chrome“会话由于页面崩溃而被删除”

带有硒和ASP.NET 4.5 MVC的DOCKER

我想做什么?

尝试具有以下的docker映像。是的,我知道还有其他方法可以在此处完成最终游戏,但是对此我有特定要求。

  • 运行ASP.NET MVC 4.5 Web应用程序
  • 具有硒驱动程序通过ac#控制台exe测试代码

当前状态-在常规Windows 10或Windows 2016中运行测试时,它运行良好。当测试在Windows docker容器中运行时,测试失败,“ 会话由于页面崩溃而被删除 ”。请注意,我专注于chrome测试,但使用FireFox也会得到相似的结果。

我打开了硒铬的详细调试程序,并捕获了日志文件。我有两个日志文件。“ goodrun_log.txt”来自Windows 10成功测试。“ docker_log.txt”是容器内运行失败的日志。

关于第473行,我们可以看到Docker运行失败。到那时为止,日志文件与正常运行完全相同。然后繁荣。那么,我们缺少什么使Docker容器在此时失败?

发表于硒在https://github.com/SeleniumHQ/selenium/issues/7165 发布到ASP.NET泊坞窗回购在https://github.com/Microsoft/aspnet-docker/issues/181

与SEEMS类似

我尝试过的事情

  • chrome标志(不止如此,但...)
option.AddArgument("--disable-dev-shm-usage"); // https://github.com/elgalu/docker-selenium/issues/20#issuecomment-407101358
Run Code Online (Sandbox Code Playgroud)
docker run -d --name aspnet48testsrun --shm-size="1g" -p 5000:80 aspnet48testsd
Run Code Online (Sandbox Code Playgroud)
  • 记忆
docker run -d --name aspnet48testsrun -m inf --memory-swap inf -p 5000:80 aspnet48tests
docker run -d --name aspnet48testsrun -m 2g -p 5000:80 aspnet48tests …
Run Code Online (Sandbox Code Playgroud)

selenium-chromedriver selenium-webdriver docker docker-for-windows

17
推荐指数
1
解决办法
773
查看次数

Selenium在ChromeDriver中没有此类会话错误

当我从Jenkins运行脚本时,我经常没有遇到这样的会话错误.它的原因是什么?是否有任何连接失败或是由于其他原因(我运行了大约26个脚本,并且至少有一个脚本没有这样的会话错误)

脚本是不同的脚本,并且对于相同的脚本不会再次重复此类会话错误

selenium selenium-webdriver

16
推荐指数
1
解决办法
2万
查看次数

Selenium webdriver:修改navigator.webdriver标志以防止硒检测

我正在尝试使用selenium和chrome在网站中自动执行一项非常基本的任务,但不知何故,网站检测到chrome由硒驱动并阻止每个请求.我怀疑该网站依赖于一个暴露的DOM变量,如/sf/answers/2933311741/来检测selenium驱动的浏览器.

我的问题是,有没有办法让navigator.webdriver标志为假?我愿意在修改之后尝试重新编译硒源,但我似乎无法在存储库中的任何地方找到NavigatorAutomationInformation源https://github.com/SeleniumHQ/selenium

任何帮助深表感谢

PS:我还从https://w3c.github.io/webdriver/#interface尝试了以下内容

Object.defineProperty(navigator, 'webdriver', {
    get: () => false,
  });
Run Code Online (Sandbox Code Playgroud)

但它只在初始页面加载后更新属性.我认为该网站在我的脚本执行之前检测到该变量.

java selenium webdriver selenium-webdriver webdriver-w3c-spec

10
推荐指数
9
解决办法
5531
查看次数

Selenium&Heroku:urllib3.exceptions.ProtocolError:('Connection aborted.',ConnectionResetError(104,'peer reset by peer'))

建立:

  • :3.141.0
  • python:3.6.7
  • heroku-stack:heroku-18
  • headless-chrome:v71.0.3578.80 buildpack安装
  • chromedriver:安装了buildpack v2.44.609551

在heroku中使用selenium时出现此错误:

urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))
Run Code Online (Sandbox Code Playgroud)

我用Google搜索但没有运气.错误发生在此代码的最后一行.


from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

UA = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36' \
     '(KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'
DRIVER_PATH = '/app/.chromedriver/bin/chromedriver'

chrome_options = webdriver.ChromeOptions()
chrome_options.binary_location = '/app/.apt/usr/bin/google-chrome'
chrome_options.add_argument(f'--user-agent={UA}')
chrome_options.add_argument(f'--proxy-server=http://my_private_proxy.com:my_port')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--no-sandbox')

chrome = webdriver.Chrome(executable_path=DRIVER_PATH, options=options)
Run Code Online (Sandbox Code Playgroud)

selenium heroku python-3.x selenium-chromedriver buildpack

8
推荐指数
1
解决办法
970
查看次数

未知错误:会话因页面崩溃而从未知错误中删除:无法通过ChromeDriver Selenium崩溃的选项卡确定加载状态

我正在使用使用Python和Selenium的InstaPy。我每个Cron都会启动脚本,并且有时会崩溃。所以它确实是不规则的,有时运行得很好。我也已经在GitHub Repo上发布了消息,但是在那里没有得到答案,所以我现在在这里问是否有人知道为什么。

这是一个数字海洋ubuntu服务器,我在无头模式下使用它。驱动程序版本在日志中可见。这是错误消息:

ERROR [2018-12-10 09:53:54] [user]  Error occurred while deleting cookies from web browser!
b'Message: invalid session id\n  (Driver info: chromedriver=2.44.609551 (5d576e9a44fe4c5b6a07e568f1ebc753f1214634),platform=Linux 4.15.0-42-generic x86_64)\n'
Traceback (most recent call last):
  File "/root/InstaPy/instapy/util.py", line 1410, in smart_run
    yield
  File "./my_config.py", line 43, in <module>
    session.follow_user_followers(['xxxx','xxxx','xxxx','xxxx'], amount=100, randomize=True, interact=True)
  File "/root/InstaPy/instapy/instapy.py", line 2907, in follow_user_followers
    self.logfolder)
  File "/root/InstaPy/instapy/unfollow_util.py", line 883, in get_given_user_followers
    channel, jumps, logger, logfolder)
  File "/root/InstaPy/instapy/unfollow_util.py", line 722, in get_users_through_dialog
    person_list = dialog_username_extractor(buttons)
  File "/root/InstaPy/instapy/unfollow_util.py", line 747, in dialog_username_extractor
    person_list.append(person.find_element_by_xpath("../../../*") …
Run Code Online (Sandbox Code Playgroud)

python selenium google-chrome selenium-chromedriver selenium-webdriver

8
推荐指数
2
解决办法
6743
查看次数

Chromdriver2.21.2失败"没有这样的会话"

我试图为我的网页进行自动化测试,我正在使用Jasmine与selenium一起使用.

当测试chrome(使用chromedriver)时,我不可预测地得到下面的错误.它经常发生,当我运行测试套件时,它几乎没有完成.

我发现了这个错误的证据,但无法找到一个可靠的答案:https://bugs.chromium.org/p/chromedriver/issues/detail?id = 732(授予这是铬,我使用铬)

WebDriverError: no such session
  (Driver info: chromedriver=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),platform=Mac OS X 10.11.5 x86_64)
    at WebDriverError (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/error.js:27:10)
    at Object.checkLegacyResponse (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/error.js:639:15)
    at parseHttpResponse (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/http/index.js:538:13)
    at /Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/http/index.js:472:11
    at ManagedPromise.invokeCallback_ (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/promise.js:1379:14)
    at TaskQueue.execute_ (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/promise.js:2896:21)
    at /Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/promise.js:2820:25
    at /Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/promise.js:639:7
    at process._tickCallback (node.js:369:9)
From: Task: WebElement.isDisplayed()
    at Driver.schedule (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/webdriver.js:377:17)
    at WebElement.schedule_ (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/webdriver.js:1744:25)
    at WebElement.isDisplayed (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/webdriver.js:2110:17)
    at driver.findElements.then.error (/Users/XXXXXXX/Documents/sweetmeeting/Test/front_end_testing/spec/dashboard_tester.js:251:34)
    at ManagedPromise.invokeCallback_ (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/promise.js:1379:14)
    at TaskQueue.execute_ (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ (/Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/promise.js:2896:21)
    at /Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/promise.js:2775:27
    at /Users/XXXXXXX/Documents/sweetmeeting/node_modules/selenium-webdriver/lib/promise.js:639:7
    at process._tickCallback (node.js:369:9)
Run Code Online (Sandbox Code Playgroud)

selenium google-chrome jasmine selenium-chromedriver

5
推荐指数
2
解决办法
6166
查看次数