c#脚本执行器向下滚动不起作用
我有个问题,因为我需要向下滚动页面, 所以我决定使用c#脚本执行器向下滚动不起作用,c#,selenium,selenium-webdriver,webdriver,C#,Selenium,Selenium Webdriver,Webdriver,我有个问题,因为我需要向下滚动页面, 所以我决定使用IJavaScriptExecutor IJavaScriptExecutor js = (IJavaScriptExecutor) driver; js.executeScript("window.scrollBy(0,1000)"); 我也试过了 js.ExecuteScript("arguments[0].scrollIntoView();", invite); js.ExecuteScript("window.scrollTo
IJavaScriptExecutor
IJavaScriptExecutor js = (IJavaScriptExecutor) driver;
js.executeScript("window.scrollBy(0,1000)");
我也试过了
js.ExecuteScript("arguments[0].scrollIntoView();", invite);
js.ExecuteScript("window.scrollTo(0, document.body.scrollHeight)");
但它不起作用。在尝试向下滚动页面之前,请确保已完全渲染。 在这里你可以找到一个详细的讨论 页面加载完成后,您可以调用
scroll()
方法,如下所示:
- 要向下滚动250个pixcels:
IJavaScriptExecutor js = (IJavaScriptExecutor) driver; js.ExecuteScript("window.scrollBy(0,250)", "");
- 要向下滚动整个页面,请执行以下操作:
IJavaScriptExecutor js = (IJavaScriptExecutor) driver; js.ExecuteScript("window.scrollTo(0, document.body.scrollHeight)");
- 要将图元滚动到视图中,请执行以下操作:
IWebElement element = new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementIsVisible(By.CssSelector("css_element"))); IJavaScriptExecutor js = (IJavaScriptExecutor) driver; js.ExecuteScript("arguments[0].scrollIntoView(true);",element);
回答:有什么问题?当你尝试它时发生了什么?什么都没发生。IJavaScriptExecutor只是被程序忽略了。这就是问题所在,所以,我需要创建一个方法,例如,它将等待30秒,使站点头部的一部分可见,然后调用scroll()方法?对吗?@MariuszBudzisz您不需要函数,只需要WebDriverWait的一个简单实例。那就可以了。public void Invite(){var span=new TimeSpan(0,0,0,60,0);var wait=new WebDriverWait(driver,span);wait.Until(foo=>foo.FindElement(By.CssSelector(“#seo_h1_tag>a:nth child(1)”).Enabled);js.ExecuteScript(“window.scrollBy(0250)”,“”);wait.Until(foo=>foo.FindElement(By.CssSelector(“button.\u 42ft.\u 4jy0.FriendRequestAdd.addButton.\u 4jy3.\u 517h.\u 51sy”).Enabled);IWebElement invite=driver.FindElement(By.CssSelector(“button.\u 42ft.\u 4jy0.FriendRequestAdd.addButton.\u 4jy3.\u 517h.\u 51sy”);invite.Submit();invite.SendKeys(key.Return)}不起作用。@MariuszBudzisz我对
没有可见性(”#seo\u h1\u tag>a:nth child(1)”
。你想要自动执行的具体手动步骤是什么?1->转到雅吉洛尼亚大学facebook fanpage(“seo\u h1\u tag>a:nth child(1)”)是UJ的徽标,放在fanpage 2的顶部->向下滚动(不起作用)3->按几次“添加朋友”按钮