Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Selenium Webdriver单击并发送密钥等在Google Chrome版本78.0.3904.87上不起作用_C#_Google Chrome_Selenium Webdriver_Selenium Chromedriver - Fatal编程技术网

C# Selenium Webdriver单击并发送密钥等在Google Chrome版本78.0.3904.87上不起作用

C# Selenium Webdriver单击并发送密钥等在Google Chrome版本78.0.3904.87上不起作用,c#,google-chrome,selenium-webdriver,selenium-chromedriver,C#,Google Chrome,Selenium Webdriver,Selenium Chromedriver,Google chrome昨天自动更新到78.0.3904.87版,我现在似乎对Selenium Webdriver有问题 当我在Visual Studio中运行测试时,单击事件似乎发生了,但屏幕上的预期结果没有发生。例如,单击链接成功地通过代码(link.click),没有失败,但该链接没有在屏幕上被单击 当我在调试模式下运行相同的测试并逐步进入代码的每一部分时,它工作得很好,就好像selenium对于浏览器来说运行得太快了(我有一个内置的隐式等待,但它不相关,元素就在那里,只是没有正确单击)

Google chrome昨天自动更新到78.0.3904.87版,我现在似乎对Selenium Webdriver有问题

当我在Visual Studio中运行测试时,单击事件似乎发生了,但屏幕上的预期结果没有发生。例如,单击链接成功地通过代码(link.click),没有失败,但该链接没有在屏幕上被单击

当我在调试模式下运行相同的测试并逐步进入代码的每一部分时,它工作得很好,就好像selenium对于浏览器来说运行得太快了(我有一个内置的隐式等待,但它不相关,元素就在那里,只是没有正确单击)。我还发现,sendKeys虽然成功地通过了代码,但没有填充该字段,在调试模式下进入该字段时也很好

我已经尝试过将Chromedriver更新到V78版本,但这没有任何区别

这里有类似的问题,但我的问题不仅限于PDF
我的团队遇到了同样的问题。问题似乎是WebDriverWait和单击之间的时间——等待似乎是在不应该的情况下瞬间通过的,然后是任何单击元素调用(或操作)将鼠标悬停在我们想要单击但实际上没有单击的内容上。

我通过设置终于弄清了问题的症结所在,结果是--enable automation标志似乎在页面加载时导致页面闪烁。
在将ExcludeSwitchs:['enable-automation']添加到我的配置后,它解决了这个问题。

作为一个临时解决办法,我卸载了Chrome,下载了以前的版本并安装了它,并按照联机说明防止Chrome自动更新自身。一切又恢复正常了。Chrome自动更新绝对是个笑话。我们的临时解决方案是在加载新页面后添加500毫秒睡眠,这并不理想:(对我们来说,这样做要比把我们测试的每台机器都换成旧的chrome更容易一些……谢谢——这是否意味着每当一个动作加载页面时,你必须在你的框架内添加多个睡眠?或者某种抽象的方法来进行睡眠?(如果是的话,你如何从导致页面加载的各个地方调用它?)。我们在基本页上有一个调用,我们在所有其他页面上使用该调用,这些页面通常会等待页面完成加载—基本上就是这样的
void WaitOnPageLoad(){var wait=new WebDriverWait(driver,TimeSpan.FromSeconds(10));wait.until(By.ClassName(“footer”);Thread.Sleep(500);