2016-01-23 139 views
-1

我想單擊網頁瀏覽器中的網頁按鈕。以編程方式點擊網頁瀏覽器內的按鈕c#

我知道我可以做到這一點,當我從按鈕的Id /類,但我沒有Id /類在這種情況下(或所有按鈕是相同的)。

<form action="" method="POST"> 
    <button class="btn btn-default btn-sm btn-block" type="submit" name="option" value="0">Button 1</button> 
    <button class="btn btn-default btn-sm btn-block" type="submit" name="option" value="1">Button 2</button> 
    <button class="btn btn-default btn-sm btn-block" type="submit" name="option" value="2">Button 3</button> 
</form> 

可以說我想點擊按鈕3.我該怎麼做?

+3

我甚至不確定問題是什麼。這是「asp.net」嗎? –

+0

爲什麼不給他們一個ID?... – Sayse

+0

@Sayse'但在這種情況下我沒有Id/Class(或所有按鈕都是相同的)' –

回答

1

您可以使用nth-child()。所以你的情況,你可能需要做:

$(function() { 
    $("form button:nth-child(3)").trigger("click"); 
}); 

注:

  1. 不能使用服務器端的C#代碼與UI交互。
  2. 您需要使用JavaScript來做到這一點。
  3. 添加jQuery以使用上面給出的函數。

添加的jQuery

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
+0

'你需要使用JavaScript來做到這一點.'不正確。如果這是在.NET中,他可以使它與C#一起工作。 –

+0

@DrewKennedy嗯,怎麼樣?只有JavaScript纔有權訪問UI? –

+1

@DrewKennedy是我使用.net – Gewoo

0

您可以使用SeleniumWebDriver做到這一點:

//this will click on button 3. You can also use "0" or "1" for the other buttons 
string value = "2"; 
driver.FindElement(By.CssSelector("[value='" + value + "']")).Click(); 

這將由value屬性點擊按鈕。

here

指南下載如何硒添加到Visual Studio here