点击第二个按钮(相同的按钮)Selenium python

时间:2016-06-29 12:23:20

标签: python selenium button

我有2个具有相同值和类的按钮,它们是相同的。

<input class="button" value="Ir" type="submit">

我想点击第二个,它位于<div class="smallfont">

我如何用python Selenium做到这一点?谢谢; D

INPUT CODE&lt; ------- IMAGE

4 个答案:

答案 0 :(得分:3)

您可以抓取对这两个元素的引用,只需单击第二个元素即可。

my @num = (21, 3, 14, 5);
my @sorted = sort @num;
print join(',', @sorted), "\n";

答案 1 :(得分:2)

以下是文档中的示例:

<html>
 <body>
  <form id="loginForm">
   <input name="username" type="text" />
   <input name="password" type="password" />
   <input name="continue" type="submit" value="Login" />
   <input name="continue" type="button" value="Clear" />
  </form>
</body>
<html>

login_form = driver.find_element_by_xpath("/html/body/form[1]")
login_form = driver.find_element_by_xpath("//form[1]")
login_form = driver.find_element_by_xpath("//form[@id='loginForm']")

input [1]是一个数组,从1开始,所以在你的情况下,它应该是这样的(更正,注释):

button = driver.find_element_by_xpath("//form[@class='smallfont']/input[@value='Ir'][@type='submit'][2]")
button.click()

自:

http://selenium-python.readthedocs.io/locating-elements.html

答案 2 :(得分:1)

如果我是正确的,在“smallfont”类的div中只有一个提交按钮(重复按钮位于不具有该类的不同div中),那么您可以简单地使用类似于以下的路径: / p>

{{1}}

答案 3 :(得分:-1)

尝试以下方式解决。

String cssSelectorOfSameElements="input[type='submit'][id='button']";
  List<WebElement>a=driver.findElements(By.cssSelector(cssSelectorOfSameElements);
      a.get(0).click();
      a.get(1).click();
      a.get(2).click();

现在,根据您的要求,您可以点击特定标签。希望这有效。