2016-12-07 55 views
0

我使用基於網頁的chrome應用程序。我們使用引導程序,這使得只需右鍵單擊開發工具中的元素並獲取其xpath或cssselector更加困難。selenium webdriver的目標/點擊按鈕有問題| bootstrap

這裏有一個按鈕的代碼我試圖點擊:

div class="pull-right" 
button data-bind="click: $root.update, enable: !($root.isLoading() || $root.isRunning()) &amp;&amp; workOrderId() > 0, css: {'disabled' : ($root.isLoading() || $root.isRunning() || workOrderId() === 0) }" class="btn btn-primary btn-sm selectorgadget_selected" style="opacity: 0.6;">Calculate</button> == $0 

IWebElement applyCalculate = driver.FindElement(By.CssSelector( 「.btn-SM」));

IWebElement applyCalculate = driver.FindElement(By.CssSelector(".btn-sm")); 

try 
{ 
     applyCalculate.Click(); 
     { 
     }; 

} 
catch (Exception) 
{ 
     { 
     }; 
} 

我很好,要麼使用Classname,cssselector,xpath,幾乎任何可能在這一點上的工作。有任何想法嗎?元素被發現,但不能點擊

+0

所以,如果你說的那個元素被發現,沒有點擊 - 它打印任何錯誤?你確定找到了這個元素嗎? – pagep

+0

請花一點時間修復問題中的格式和HTML。現在很難閱讀和格式不正確。 – JeffC

+0

那麼,如果你的代碼與例子完全一樣,那麼有可能是因爲你有try catch而沒有打印的異常 – pagep

回答

0

CODE

<div class="form-group form-group-sm" data-bind="visible: 
!$root.isCollapsed() &amp;&amp; !$root.isLocked()"> == $0 
    ::before 
<div class="pull-right"> 
    <button data-bind="click: $root.update, enable:! 
    ($root.isLoading() || $root.isRunning()) &amp;&amp; workOrderId() > 0, 
    css: {'disabled' : ($root.isLoading() || $root.isRunning() || 
    workOrderId() === 0) }" class="btn btn-primary btn-sm" style= 
    "opacity: 0.6;">Calculate</button> 
</div> 
</div> 

SCRIPT

IWebElement applyCalculate = driver.FindElement(By.ClassName(".btn-sm")); 

try 
{ 
    if (applyCalculate != null) 
    { 
     applyCalculate.Click(); 
     applyCalculate.Click(); 
     { 
     }; 
    } 
    else 
    { 
     { 
     }; 
    } 
} 
catch (Exception) 
{ 
}