我通过单击c#中的selenium元素来打开一个新选项卡。更改为新标签后,我想滚动,但是出现超时错误。
我收到超时消息,没有滚动。
这是C#代码。
二手Chrome 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);");
您可以分两步执行此操作,移至新的tab并在scroll那里执行。
tab
scroll
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)");
完成后,您可以关闭选项卡。