<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