WebDriver JavaScriptExecutor没有点击按钮

时间:2018-05-29 12:27:09

标签: javascript c# selenium-webdriver

我正在使用Selenium WebDriver和C#以及NUnit。 正在测试的应用程序有一个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 个答案:

答案 0 :(得分:0)

试试这个,

Sub formatnumbers()
    Dim rng As Range
    Set rng = ActiveSheet.Range("A1:G15")
    rng.NumberFormat = "0.00"
End Sub

答案 1 :(得分:0)

要在文本为 NEXT 的按钮上调用Click(),您需要引导 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();