为了账号安全,请及时绑定邮箱和手机立即绑定

硒找不到元素“ a”

硒找不到元素“ a”

C#
梵蒂冈之花 2021-05-05 13:24:18
上图。我想单击“否”按钮和复选框,但无法正常工作,我尝试过new WebDriverWait(driver, TimeSpan.FromSeconds(15)).Until(ExpectedConditions.ElementIsVisible((By.CssSelector("button[ng-click=\"modalCancel()\"]"))));但这就是全部
查看完整描述

3 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

您的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()']"))));


查看完整回答
反对 回复 2021-05-21
?
蛊毒传说

TA贡献1895条经验 获得超3个赞

您缺少.之前的内容,button并且您的定位器将正常工作。另外,您可以使用'代替\"。因此,将您的定位器更改为

By.CssSelector(".button[ng-click='modalCancel()']")

它应该工作。


查看完整回答
反对 回复 2021-05-21
?
FFIVE

TA贡献1797条经验 获得超6个赞

该元素的类型的<a>,为我们提供了正确的方向,但是我会想变得有点颗粒状,一旦元素,你需要调用返回的Click()方法,这样,而不是使用方法ElementIsVisible(),我将实现方法ElementToBeClickable()为如下:

new WebDriverWait(driver, TimeSpan.FromSeconds(15)).Until(ExpectedConditions.ElementToBeClickable((By.CssSelector("a.button.pill'[ng-click=\"modalCancel()\"]")))).Click();


查看完整回答
反对 回复 2021-05-21
  • 3 回答
  • 0 关注
  • 164 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信