ADD ROOM TO CRUISE CART 这是我的代码: driver.FindElement(By.CssSelec-6ren">
gpt4 book ai didi

c# - 无法使用 selenium 网络驱动程序 : ElementNotVisibleException 单击 Angular-JS 按钮

转载 作者:太空宇宙 更新时间:2023-11-03 13:06:06 25 4
gpt4 key购买 nike

我试图点击这个按钮(它清楚地出现在页面上并且在 View 中):

<button class="ui tertiary button" data-ng-click="addRoom()" data-ng-disabled="pendingRequests >= 1">ADD ROOM TO CRUISE CART</button>

这是我的代码:

driver.FindElement(By.CssSelector("button[data-ng-click^='addRoom']")).Click();

它总是抛出这个错误:

OpenQA.Selenium.ElementNotVisibleException : Element is not currently visible and so may not be interacted with

Selenium WebDriver 是否与 Angular JS 兼容?

最佳答案

我已经设法找出问题所在,有多个具有完全相同 XPath 的按钮,一个在给定时间可见,另一个不可见。我

   var list = driver.FindElements(By.CssSelector("a[data-ng-click='addRoom()']")).ToList();

foreach (var item in list)
{
Console.WriteLine(item.Displayed);

if(item.Displayed)
{
item.Click();
}
}

这得到了激活按钮,感谢您的所有帮助。我现在可以前进了

关于c# - 无法使用 selenium 网络驱动程序 : ElementNotVisibleException 单击 Angular-JS 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30747238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com