C# Selenium无法继续,因为chrome不加载UI

C# Selenium无法继续,因为chrome不加载UI,c#,selenium,google-chrome,selenium-chromedriver,C#,Selenium,Google Chrome,Selenium Chromedriver,有时候,Selenium C#会发布chrome和网站,但无法与之交互 仔细观察,我发现这是因为chrome没有聚焦,也没有加载UI 当我聚焦chrome时,我会看到半秒钟的白色屏幕,然后UI出现了。UI一出现,测试就开始运行良好 我觉得chrome没有后台就无法获得足够的系统资源。任何帮助都将不胜感激。我从未在selenium python中面对过这个问题 网站是-web.whatsapp.com看起来您没有给页面足够的时间加载。您可以使用以下任何一种等待技术 在Selenium C#中显式等

有时候,Selenium C#会发布chrome和网站,但无法与之交互

仔细观察,我发现这是因为chrome没有聚焦,也没有加载UI

当我聚焦chrome时,我会看到半秒钟的白色屏幕,然后UI出现了。UI一出现,测试就开始运行良好

我觉得chrome没有后台就无法获得足够的系统资源。任何帮助都将不胜感激。我从未在selenium python中面对过这个问题


网站是-web.whatsapp.com

看起来您没有给页面足够的时间加载。您可以使用以下任何一种等待技术

在Selenium C#中显式等待

在C#等待:

您可以要求脚本在执行下一行代码之前等待定义的毫秒:

Thread.Sleep(6000);
# It will for 6 sec
在Selenium C#中流畅地等待

Wait fluentWait=新fluentWait(驱动程序)
.withTimeout(30秒)//定义等待的总时间
.pollingEvery(2,秒)//定义轮询频率
.忽略(NoSuchElementException.class);//这定义了要忽略的异常
WebElement welcomeMessage=fluentWait.until(新函数(){
publicwebelement apply(WebDriver)//在这个方法中定义了您自己需要等待的条件
{返回driver.findelelement(By.xpath(“/*[contains(text(),'Welcome')]”);
}});
注意:您可以使用上述任何等待方法。然而,它们都有各自的优势/劣势。请在下面的链接中阅读更多关于它们和差异的信息:

看起来您没有给页面足够的加载时间。您可以使用以下任何一种等待技术

在Selenium C#中显式等待

在C#等待:

您可以要求脚本在执行下一行代码之前等待定义的毫秒:

Thread.Sleep(6000);
# It will for 6 sec
在Selenium C#中流畅地等待

Wait fluentWait=新fluentWait(驱动程序)
.withTimeout(30秒)//定义等待的总时间
.pollingEvery(2,秒)//定义轮询频率
.忽略(NoSuchElementException.class);//这定义了要忽略的异常
WebElement welcomeMessage=fluentWait.until(新函数(){
publicwebelement apply(WebDriver)//在这个方法中定义了您自己需要等待的条件
{返回driver.findelelement(By.xpath(“/*[contains(text(),'Welcome')]”);
}});
注意:您可以使用上述任何等待方法。然而,它们都有各自的优势/劣势。请在下面的链接中阅读更多关于它们和差异的信息:

请尝试以下操作-它将强制关注Chrome(根据提供的信息,我可以假设存在阻止页面加载或触发onfocus事件的JS事件)


请尝试以下操作-它将强制关注Chrome(根据提供的信息,我可以假设有一个JS事件阻止页面加载或触发onfocus事件)


它应该做什么?它在做什么?它应该做什么?它在做什么?抱歉,但至少你应该在评论中询问。我已经在使用显式等待了。不要说对不起,伙计。没关系,正如你在问题中没有提到的,我在这里提供了一些信息。此外,我不确定您是否尝试过无头浏览器,如果用户界面加载是一个问题。干杯:)无头也是一个问题。一个月以来,我不能运行无头铬或铬。我想知道为什么这不是一个普遍的问题。至少chrome开发者应该让问题更加公开,并允许我们在github上公开问题。我完全同意你的看法。不管怎样,我都会尝试使用python脚本,并让您知道我是否能够复制并解决此问题。感谢您的突出显示!!!!抱歉,但至少你应该在评论中询问。我已经在使用显式等待了。不要说对不起,伙计。没关系,正如你在问题中没有提到的,我在这里提供了一些信息。此外,我不确定您是否尝试过无头浏览器,如果用户界面加载是一个问题。干杯:)无头也是一个问题。一个月以来,我不能运行无头铬或铬。我想知道为什么这不是一个普遍的问题。至少chrome开发者应该让问题更加公开,并允许我们在github上公开问题。我完全同意你的看法。不管怎样,我都会尝试使用python脚本,并让您知道我是否能够复制并解决此问题。感谢您的突出显示!!!!
Thread.Sleep(6000);
# It will for 6 sec
Wait<WebDriver> fluentWait = new FluentWait<WebDriver>(driver)
       .withTimeout(30, SECONDS) // this defines the total amount of time to wait for
       .pollingEvery(2, SECONDS) // this defines the polling frequency
       .ignoring(NoSuchElementException.class); // this defines the exception to ignore 
      WebElement welcomeMessage= fluentWait.until(new Function<WebDriver, WebElement>() {
     public WebElement apply(WebDriver driver)  //in this method defined your own subjected conditions for which we need to wait for
     {  return driver.findElement(By.xpath("//*[contains(text(),'Welcome')]"));
}});
var driver = new ChromeDriver();
driver.Manage().Window.Maximize(); // will focus or at least bring to front

// other things to try - switch
driver.SwitchTo().DefaultContent();
driver.SwitchTo().ActiveElement();

// other things to try - JavaScript
((IJavaScriptExecutor)driver).ExecuteScript("document.querySelector('body').focus();")