.net 硒点击
我有一个ng repeat中的项目列表。我需要使用Selenium单击列表中的给定项.net 硒点击,.net,angularjs,selenium,.net,Angularjs,Selenium,我有一个ng repeat中的项目列表。我需要使用Selenium单击列表中的给定项 var items = driver.FindElements(By.XPath("//*[@ng-repeat='filter in date_filters']")); items[1].Click(); items返回时会显示所有项的列表,但items[1]。单击会引发错误 如果您能给我一些建议,我将不胜感激 谢谢, 乔治试试这个。您需要使用数组来收集项目列表 List&
var items = driver.FindElements(By.XPath("//*[@ng-repeat='filter in date_filters']"));
items[1].Click();
items返回时会显示所有项的列表,但items[1]。单击会引发错误
如果您能给我一些建议,我将不胜感激
谢谢,
乔治试试这个。您需要使用数组来收集项目列表
List<WebElement> li = driver.findElements(By.XPath("//*[@ng-repeat='filter in date_filters']"))
li.get(1).click();
//If you want to click the second element then get(1)
通常。在webelement上单击操作有效。如果没有,请使用java脚本执行器 备选案文1:
List<WebElement> elements = driver.findElements(By.xpath("//*[@ng-repeat='filter in date_filters']"));
elements.get(1).click();
备选案文2:
List<WebElement> elements = driver.findElements(By.xpath("//*[@ng-repeat='filter in date_filters']"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", elements.get(1));
谢谢prithvi394
你让我走上了正确的轨道
我的解决办法是
IJavaScriptExecutor js = driver as IJavaScriptExecutor;
js.ExecuteScript("window.scrollBy(0,500)");
var action = new Actions(driver);
var mySlot = driver.FindElement(By.XPath("//div[@ng-repeat='filter in date_filters' and contains(., '29 Dec')]"));
action.MoveToElement(mySlot).Click().Perform();
奇怪的是,我不得不将网络浏览器滚动到我想点击的按钮可见的位置
谢谢它会抛出什么错误?