2016-01-23 140 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