我在 C# 和 NUnit 中使用 Selenium WebDriver。被测应用程序有一个 Selenium 无法识别的按钮。我已经尝试了所有常用的定位器,包括各种 XPath 语句、Id、CSSSelector 等。在所有情况下,都会NullReferenceException发生。然后我尝试了以下方法:IJavaScriptExecutor javaScript = (IJavaScriptExecutor)Driver.Instance;javaScript.ExecuteScript("document.getElementById('listingstep1').click();这也导致NullReferenceException. 可以单击应用程序中的其他按钮而不会出错。这个特殊的按钮如下:<div class="space-top-4 mdl-layout__canvas-action-hide-sm"> <a id="listing-step1" href="javascript:void(0)"> <button class="mdl-button md-min mdl-color--blue mdl-color-text--white mdl-js-button mdl-button--raised mdl-js-ripple-effect" data- upgraded=",MaterialButton,MaterialRipple"> NEXT <span class="mdl-button__ripple-container"> <span class="mdl-ripple"></span> </span> </button> </a></div>
2 回答
蓝山帝景
TA贡献1843条经验 获得超7个赞
要Click()使用文本作为NEXT调用按钮,您需要引入WebDriverWait,您可以使用以下代码块:
new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(ExpectedConditions.ElementToBeClickable(By.XPath("//button[@class='mdl-button md-min mdl-color--blue mdl-color-text--white mdl-js-button mdl-button--raised mdl-js-ripple-effect']//span[@class='mdl-button__ripple-container']/span[@class='mdl-ripple']"))).Click();
- 2 回答
- 0 关注
- 143 浏览
添加回答
举报
0/150
提交
取消