如何使用selenium(C#)在网格中自动选择控件(点击并按住)
本文关键字:控件 选择 selenium 何使用 网格 | 更新日期: 2023-09-27 17:59:58
我的代码是:
[TestMethod]
public void ActionClickAndHold()
{
driver = new ChromeDriver();
driver.Manage().Window.Maximize();
driver.Navigate().GoToUrl("http://jqueryui.com/selectable/");
driver.FindElement(By.Id("selectable")).Click();
System.Threading.Thread.Sleep(10000);
driver.SwitchTo().Frame(0);
ReadOnlyCollection<IWebElement> lstItems = driver.FindElements(By.XPath("//*[@id='selectable']/li[1]"));
Actions builder = new Actions(driver);
builder.ClickAndHold(lstItems[1])
.ClickAndHold(lstItems[3])
.Click()
.Perform();
driver.SwitchTo().DefaultContent();
}
它不起作用。它不会在网格中单击并保持不变。我从哪里知道我的错误?
实际上你要去错误的元素,尝试如下:-
driver = new ChromeDriver();
driver.Manage().Window.Maximize();
driver.Navigate().GoToUrl("http://jqueryui.com/selectable/");
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(3))
wait.Until(ExpectedConditions.FrameToBeAvailableAndSwitchToIt(By.ClassName("demo-frame")));
ReadOnlyCollection<IWebElement> lstItems = wait.Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(By.CssSelector("#selectable li")));
builder.ClickAndHold(lstItems[1])
.ClickAndHold(lstItems[3])
.Click()
.Perform();
driver.SwitchTo().DefaultContent();
希望能有所帮助…:)