请参阅下面的图片。我尝试使用Selenium通过以下方法选择输入标记:
1. `element.Click();`
2. `element.SendKeys(Keys.Enter);`
3. Actions action = new Actions(Browser.Driver).MoveToElement(element);
action.Click().Perform();
我试图点击该复选框,通过代码中的属性返回该代码,该代码具有以下代码:
WebDriverWait wait = new WebDriverWait(Browser.Driver, TimeSpan.FromSeconds(60));
IWebElement checkbox = wait.Until(ExpectedConditions.ElementExists((By.CssSelector("label[for='PerformerIndependence_AcceptTermsAndConditions']"))));
return checkbox;
或
WebDriverWait wait = new WebDriverWait(Browser.Driver, TimeSpan.FromSeconds(60));
IWebElement checkbox = wait.Until(ExpectedConditions.ElementExists((By.CssSelector("input#PerformerIndependence_AcceptTermsAndConditions"))));
return checkbox;
由于某种原因如果我在调试模式下运行代码来测试返回的元素,那么它将单击。如果我只是使用Visual Studio2015在运行模式下运行我的测试,则不会单击该复选框。使用该元素单击三次尝试的方法包含在try / catch块中。请帮忙!!!
答案 0 :(得分:0)
我也面临这个问题。单击复选框在Edge中不起作用。
有两种解决方法:
WebElement element = driver.findElement(By.id(“ abc”));
JavascriptExecutor js =(JavascriptExecutor)驱动程序;
js.executeScript(“ arguments [0] .click();”,元素);
================================================ ==========
Actions动作=新的Actions(驱动程序);
action.moveToElement(element).click()。perform();
在我的情况下,两者都很好。