<a href="" class="ng-binding ng-scope outside-month">1</a>
<a href="" class="ng-binding ng-scope">1</a>
點擊一個元素我想這樣做,其中外界月標籤缺失的第二個元素的點擊。我怎樣才能做到這一點?如何,如果標籤丟失
是否有一個特殊的硒函數或我必須寫一個特殊的xpath表達式?
<a href="" class="ng-binding ng-scope outside-month">1</a>
<a href="" class="ng-binding ng-scope">1</a>
點擊一個元素我想這樣做,其中外界月標籤缺失的第二個元素的點擊。我怎樣才能做到這一點?如何,如果標籤丟失
是否有一個特殊的硒函數或我必須寫一個特殊的xpath表達式?
如果外界月缺少目標element
你應該使用=
與class name
如下xpath
: -
String xPath = "//a[@class = 'ng-binding ng-scope']";
或
如果你想使用contains
和目標元素是最後
含class name
您應通過last()
如下: -
String xPath = "(//a[contains(@class, 'ng-binding ng-scope')])[last()]";
或
,如果你想使用contains
和目標元素是不包含class name
的最後一個元素,你應該如下index
通過適當的: -
String xPath = "(//a[contains(@class, 'ng-binding ng-scope')])[2]";
或
,如果你想月外已丟失,但ng綁定ng範圍現在你應該嘗試如下: -
String xPath = "//a[contains(@class, 'ng-binding ng-scope') and not(contains(@class, 'outside-month'))]";
使用任何上述xPath
,並按以下執行click
: -
WebDriverWait wait = new WebDriverWait(driver, 10);
el = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(xPath)));
el.click();
注意: - 要確保找到element
,它不是任何frame
內部之前。如果它是任何frame
裏面你需要switch
是frame
第一爲: - driver.switchTo().frame("frame name or id")
希望它會幫助你.. :)
它不是一個標籤或屬性,它只是一個更大類名 所以你需要的是找到那些NG-結合NG-scope類名稱的標籤:
driver.findElement(By.xpath("//a[@class='ng-binding ng-scope']")).click();
對於您的情況我想你可以設計一個使用not()
和 operato XPath表達式rs在一起。
東西線沿線的:
//a[not(contains(@class, 'outside-month'))]
我沒有測試過這是否工作或沒有,但讓我知道,如果沒有,我可以幫助完善它。
當然。我沒看到引號。 :d – gartenkralle