这是我正在使用的HTML
<div class="modal-footer">
<button class="btn btn-primary" type="button" value="Show Alert" ng-click="questions.getIrMessage()"
data-dismiss="modal">Confirm</button>
<button class="btn btn-primary" type="button" ng-click="questions.showIrGrid()" data-dismiss="modal">Edit</button>
</div>
我正在尝试使用以下代码行找到“编辑”按钮
[FindsBy(How = How.XPath, Using = "//button[contains(text(),'Edit')]")]
public IWebElement btnEdit;
当我尝试使用此属性时,我收到No Element found exception。
当我在代码中展开btnEdit属性时,我可以看到'Displayed'属性为false,text属性为空Property image
请查看附件。
但是当我试图找到“确认”按钮时,没有任何问题,我能够找到这个元素。
没有获得按钮的原因是什么。请提前感谢
答案 0 :(得分:0)
Selenium模拟用户操作。您的元素对用户不可见(display = none),因此Selenium也无法读取它。
您可以使用以下方法找到隐藏的元素:
IList<IWebElement> hidden = driver.FindElements(By.CssSelector("button[style=display:none]"));
您应该在此列表中找到您的元素。
答案 1 :(得分:0)
感谢大家的回复。有两个同名的元素,这就是混淆的原因。实际上我想要第二个.Below是我用来点击我想要的按钮的代码
SeleniumWrapper.driver.FindElements(By.XPath("//button[contains(text(),'Edit')]"))[1].Click();