This question already has an answer here:
How can I click the second submit button with Selenium webdriver?
(1个答案)
3年前关闭。
除了使用xpath方法外,我们如何单击具有相同类名和不同元素的相同名称的按钮。
我尝试了第二个按钮,但是不起作用,
如果存在唯一性问题,那么您还可以采用
您可以从here中找到
(1个答案)
3年前关闭。
除了使用xpath方法外,我们如何单击具有相同类名和不同元素的相同名称的按钮。
input class="btnstyle greenbtn paddinglr20" type="submit" value="Upload " name="submit_upload
我尝试了第二个按钮,但是不起作用,
WebElement butttonToClick1 = driver.findElement(By.name("submit_upload"));
((JavascriptExecutor)driver).executeScript("arguments[1].click();",butttonToClick1 );
最佳答案
Selenium WebDriver API支持识别的不同可能性
元素:按ID,按CLASS,按NAME,按CSS选择器,按XPath,按TAG
名称。此外,您还定义了自定义选择器以便与之交互
要素。
为元素,名称和类分配唯一的ID始终是一个好习惯,这样才能更好地用于自动UI测试。如果无法做到这一点,则需要使用高级或XPath选择器与这些元素进行交互。由于性能和简单性的原因,最受欢迎的选择器是CSS选择器。
driver.findElement(By.id("element id"))
driver.findElement(By.className("element class"))
driver.findElement(By.name("element name"))
driver.findElement(By.tagName("element html tag name"))
driver.findElement(By.cssSelector("css selector"))
driver.findElement(By.link("link text"))
driver.findElement(By.xpath("xpath expression"))
如果存在唯一性问题,那么您还可以采用
DOM
结构并生成xpath
。由您决定如何优化和改善定位元素。如果发现以上任何一种适合您的情况,那么您可以使用它。您可以从here中找到
xpath
的更多功能。