Selenium C# 滚动和点击 - 网页元素
Selenium C# Scrolling and clicking - web element
程序应该做什么? 单击网站上的每个按钮。
By bybut = By.XPath("//span[@class='Button']");
var element = driver.FindElement(bybut);
IJavaScriptExecutor js = driver as IJavaScriptExecutor;
for (int i = 0; i < 99; i++)
{
// Scroll element into view (orange rectangle on my picture)
js.ExecuteScript("arguments[0].scrollIntoView(true);", element);
// Time for scrolling
System.Threading.Thread.Sleep(2000);
// Click on Button
driver.FindElement(By.XPath("//span[@class='Button']")).Click();
}
在 Internet 站点上,如果您单击该按钮,它将被删除。
我的问题:
如果 For-Loop 重复,就会出现错误,因为下一个按钮已经在我的视图框架中。我如何检查按钮是否已在视图中?
您还有其他解决方案吗?提前致谢!
你可以试试下面的代码:_
IJavaScriptExecutor js = driver as IJavaScriptExecutor;
List<WebElement> displayedOptions = driver.FindElements(//span[@class='Button']);
for (WebElement option : displayedOptions)
{
try{
js.ExecuteScript("arguments[0].scrollIntoView(true);", option );
System.Threading.Thread.Sleep(2000);
// Click on Button
driver.FindElement(By.XPath("//span[@class='Button']")).Click();
}catch(WebException E){
}
程序应该做什么? 单击网站上的每个按钮。
By bybut = By.XPath("//span[@class='Button']");
var element = driver.FindElement(bybut);
IJavaScriptExecutor js = driver as IJavaScriptExecutor;
for (int i = 0; i < 99; i++)
{
// Scroll element into view (orange rectangle on my picture)
js.ExecuteScript("arguments[0].scrollIntoView(true);", element);
// Time for scrolling
System.Threading.Thread.Sleep(2000);
// Click on Button
driver.FindElement(By.XPath("//span[@class='Button']")).Click();
}
在 Internet 站点上,如果您单击该按钮,它将被删除。
我的问题: 如果 For-Loop 重复,就会出现错误,因为下一个按钮已经在我的视图框架中。我如何检查按钮是否已在视图中?
您还有其他解决方案吗?提前致谢!
你可以试试下面的代码:_
IJavaScriptExecutor js = driver as IJavaScriptExecutor;
List<WebElement> displayedOptions = driver.FindElements(//span[@class='Button']);
for (WebElement option : displayedOptions)
{
try{
js.ExecuteScript("arguments[0].scrollIntoView(true);", option );
System.Threading.Thread.Sleep(2000);
// Click on Button
driver.FindElement(By.XPath("//span[@class='Button']")).Click();
}catch(WebException E){
}