當試圖自動化我們的應用程序時,有兩個名稱相同的按鈕。如何使用java訪問在硒中具有相同類名的第二個元素
我無法找到識別這些的方法。請讓我知道在java中的selenium webdriver中識別這些元素的其他方法是什麼
當試圖自動化我們的應用程序時,有兩個名稱相同的按鈕。如何使用java訪問在硒中具有相同類名的第二個元素
我無法找到識別這些的方法。請讓我知道在java中的selenium webdriver中識別這些元素的其他方法是什麼
您可以使用xpath索引選項。
By.xpath("(//input[@name='Button'])[2]")
如果沒有屬性的唯一性,您可以使用xpath。對於例如如果你想找到具有文本foo
和名稱的元素button
然後我會喜歡的XPath如下如果名稱不是唯一有:
//*[@name='button' and text()='foo']
或不同類,但同名
//button[@name='button' and @class='xyz']
或者針對不同的文本,但同名
//input[@name='button' and contains(text(),'Click Here')]
或不同的標籤,但相同的名稱
//button[@name='button']
//input[@name='button']
只要去任何獨特的屬性,並作出定製的xpath。
我希望你也可以爲此使用java腳本,例如
WebElement butttonToClick = driver.findElement(By.name("button"));
((JavascriptExecutor)driver).executeScript("arguments[1].click();",butttonToClick);
其中arguments[1]
表示第二個具有相同名稱的元素。
你可以用xpath方法像下面的兄弟姐妹/前面的兄弟姐妹。
例如,如果按鈕位於任何唯一的webelement,則首先嚐試識別該webelement,然後通過使用不同的xpath方法(如兄弟姐妹之後的內容)來訪問Web元素。
請發佈這兩個按鈕的HTML源代碼 –
需要HTML代碼片段。首先看看http://stackoverflow.com/a/23819540/2504101 – olyv