上图。我想点击“否”按钮和复选框,但我无法让它工作,我试过
new WebDriverWait(driver, TimeSpan.FromSeconds(15)).Until(ExpectedConditions.ElementIsVisible((By.CssSelector("button[ng-click=\"modalCancel()\"]"))));
但这都是
答案 0 :(得分:1)
您的CSS选择器正在查找button
类型的元素,而不是a
。相反,你需要这样的东西:
a[class='button pill'][ng-click='modalCancel()']
完整:
new WebDriverWait(driver, TimeSpan.FromSeconds(15))
.Until(ExpectedConditions.ElementIsVisible(
(By.CssSelector("a[class='button pill'][ng-click='modalCancel()']"))));
答案 1 :(得分:0)
您在.
之前缺少button
,您的定位器将起作用。此外,您可以使用'
代替\"
。所以将定位器更改为
By.CssSelector(".button[ng-click='modalCancel()']")
它应该有用。
答案 2 :(得分:0)
@DavidG是正确的,该元素属于<a>
类型,并为我们提供了正确的方向,但是我希望得到一些细化,一旦元素被返回,因为您需要调用Click()
方法所以我不是使用方法ElementIsVisible()
,而是按如下方式实现方法ElementToBeClickable()
:
new WebDriverWait(driver, TimeSpan.FromSeconds(15)).Until(ExpectedConditions.ElementToBeClickable((By.CssSelector("a.button.pill'[ng-click=\"modalCancel()\"]")))).Click();