我有2个具有相同值和类的按钮,它们是相同的。
<input class="button" value="Ir" type="submit">
我想点击第二个,它位于<div class="smallfont">
我如何用python Selenium做到这一点?谢谢; D
INPUT CODE&lt; ------- IMAGE
答案 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();
现在,根据您的要求,您可以点击特定标签。希望这有效。