C# 如何在selenium中滚动新选项卡

C# 如何在selenium中滚动新选项卡,c#,selenium,selenium-webdriver,C#,Selenium,Selenium Webdriver,我在c#中单击selenium中的某些内容打开了一个新选项卡。我想在更改到新选项卡后滚动,但出现超时错误 我收到一条超时消息,没有滚动条 这是c代码 废铬79 Chrome选项是 options.AddArguments("handlesAlerts=false"); options.AddArguments("--disable-infobars"); options.AddArguments("--no-sandbox");

我在c#中单击selenium中的某些内容打开了一个新选项卡。我想在更改到新选项卡后滚动,但出现超时错误

我收到一条超时消息,没有滚动条

这是c代码

废铬79

Chrome选项是

options.AddArguments("handlesAlerts=false");
            options.AddArguments("--disable-infobars");
            options.AddArguments("--no-sandbox");
            options.AddArguments("--disable-background-networking");
            options.AddArguments("--disable-component-extensions-with-background-pages");
            options.AddArguments("--dns-prefetch-disable");
            options.AddArguments("--ignore-certificate-errors");
            options.AddArguments("--ignore-certificate-errors-spki-list");
            options.AddArguments("--ignore-ssl-errors");
            options.AddArguments("--allow-running-insecure-content");
            options.AddArguments("lang=ko_KR");


if (this.driver.WindowHandles.Count > 1)
{
this.driver.SwitchTo().Window(this.driver.WindowHandles[1]);
}
Utils.sleep(3000);
((IJavaScriptExecutor)this.driver).ExecuteScript("window.scrollBy(0,500);");

请使用下面的代码,它可以正常工作

 //Open link in new tab
 Actions act = new Actions(driver);
 act.KeyDown(Keys.Control).MoveToElement(elementToopenInNewTab).Click().Perform();
 // Switch to new tab
 driver.SwitchTo().Window(driver.WindowHandles.Last());

 //Scroll down in new tab

  IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
  js.ExecuteScript("window.scrollTo(0, document.body.scrollHeight)");

 //Move to first tab again 
  driver.SwitchTo().Window(driver.WindowHandles.First());

请使用下面的代码,它可以正常工作

 //Open link in new tab
 Actions act = new Actions(driver);
 act.KeyDown(Keys.Control).MoveToElement(elementToopenInNewTab).Click().Perform();
 // Switch to new tab
 driver.SwitchTo().Window(driver.WindowHandles.Last());

 //Scroll down in new tab

  IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
  js.ExecuteScript("window.scrollTo(0, document.body.scrollHeight)");

 //Move to first tab again 
  driver.SwitchTo().Window(driver.WindowHandles.First());

你可以通过两个步骤来完成, 移动到新的
选项卡
,然后在那里进行
滚动

ArrayList<String> AllTabs = new ArrayList<String> (driver.getWindowHandles()); 
driver.switchTo().window(AllTabs.get(1));
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("window.scrollBy(0 , window.innerHeight)");
ArrayList AllTabs=新的ArrayList(driver.getWindowHandles());
driver.switchTo().window(AllTabs.get(1));
JavascriptExecutor js=(JavascriptExecutor)驱动程序;
js.executeScript(“window.scrollBy(0,window.innerHeight)”;

您可以在完成后关闭选项卡。

您可以通过两个步骤完成此操作, 移动到新的
选项卡
,然后在那里进行
滚动

ArrayList<String> AllTabs = new ArrayList<String> (driver.getWindowHandles()); 
driver.switchTo().window(AllTabs.get(1));
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("window.scrollBy(0 , window.innerHeight)");
ArrayList AllTabs=新的ArrayList(driver.getWindowHandles());
driver.switchTo().window(AllTabs.get(1));
JavascriptExecutor js=(JavascriptExecutor)驱动程序;
js.executeScript(“window.scrollBy(0,window.innerHeight)”;

您可以在完成后关闭该选项卡。

谢谢。代码运行时,会发生超时,脚本无法运行。((IJavaScriptExecutor)this.driver).ExecuteScript(“window.scrollBy(0500);”;在调用
scroll()
之前,您是否可以确保您位于新打开的选项卡上?我不明白您的意思。新选项卡有一个滚动。当您调用
scrollBy()
新选项卡有焦点时,您确定Selenium的焦点在新选项卡上吗。我检查了网络驱动器的焦点。谢谢。代码运行时,会发生超时,脚本无法运行。((IJavaScriptExecutor)this.driver).ExecuteScript(“window.scrollBy(0500);”;在调用
scroll()
之前,您是否可以确保您位于新打开的选项卡上?我不明白您的意思。新选项卡有一个滚动。当您调用
scrollBy()
新选项卡有焦点时,您确定Selenium的焦点在新选项卡上吗。我检查了webdrive.js.ExecuteScript(“window.scrollTo(0,document.body.scrollHeight)”)的焦点;在上面的代码中,“连接到chrome时发出警告,正在重试…”表示上述代码是100%工作代码。您的chrome驱动程序版本可能存在另一个问题。任何代码在我的电脑上100%运行的方式当前电脑的chrome版本是79.0.3945.117。ChromeDrive的版本是79.0.3945.36。这有关系吗?js.ExecuteScript(“window.scrollTo(0,document.body.scrollHeight)”;在上面的代码中,“连接到chrome时发出警告,正在重试…”表示上述代码是100%工作代码。您的chrome驱动程序版本可能存在另一个问题。任何代码在我的电脑上100%运行的方式当前电脑的chrome版本是79.0.3945.117。Chrome Drive的版本是79.0.3945.36。这有关系吗?