我目前正在使用带有Selenium C#的Selenium Grid和RemoteWebDriver在我们的网站上执行自动化。 我需要在打开Chrome开发者控制台的情况下开始拍摄故障的屏幕截图,以查看所有JS错误等。 问题是,当我通过RemoteWebDriver到Selenium Grid执行此操作时,SendKeys或Actions / Actions Builder都不会打开开发者控制台。 如果我指向我的本地,那么它可以正常工作。 在测试网页期间,没有其他异常发生。
代码本身只是导航到URL,然后单击Login元素。然后应打开DevTools和屏幕截图。
下面是一些与RemoteWebDriver不兼容的代码示例:
driver.FindElement(By.TagName("body")).SendKeys(Keys.Control + Keys.Shift + "J");
Actions builder = new Actions(driver);
builder.KeyDown(Keys.LeftControl);
builder.KeyDown(Keys.LeftShift);
builder.SendKeys("j");
builder.Build().Perform();
Thread.Sleep(1000);
builder.KeyUp(Keys.LeftControl);
builder.KeyUp(Keys.LeftShift).Build().Perform();
new Actions(driver).SendKeys(Keys.F12).Perform();
Actions action = new Actions(driver);
action.KeyDown(Keys.Control).KeyDown(Keys.Shift).SendKeys("J").Perform();
Thread.Sleep(2000);
action.KeyUp(Keys.Control).KeyUp(Keys.Shift).Perform();
NUnit:v3.11.0
硒:v3.14.0
Selenium Grid:v.3.13.0
VS Studio:2017年
代码库:C#
Chrome:70.0.3538
ChromeDriver:2.43