使用Selenium中的嵌套xpath定位webelement

时间:2018-11-08 14:36:32

标签: selenium xpath

我喜欢测试用GWT编写的复杂Web应用程序,并且我对Selenium的工作方式有疑问。

我有两个日历(monthCalendar1和monthcalender2)。 两者都有带有月份和年份的标签

image of calendars

我可以使用下一条语句在第二个日历中到达月份和年份标签:

WebElement webelement = driver.findElement(By.xpath("//div[contains(@class,'monthCalendar2')]//div[contains(@class,'monthAndYearLabel')]"));
    String s = webelement.getText();
    //s = December 2018

但是我想将网站分成逻辑部分,所以我想使用:

  WebElement webelement = driver.findElement(By.xpath("//div[contains(@class,'monthCalendar2')]"));
        WebElement webelement2 = webelement.findElement(By.xpath("//div[contains(@class,'monthAndYearLabel')]"));
    webelement2.getText();
    String s = webelement2.getText();
    //s = November 2018

似乎webelement2从网站开始而不是从webelement开始搜索。我可以使用第二种方法吗?怎么样?

亲切的问候 Wim

1 个答案:

答案 0 :(得分:0)

您需要在第一个^\之前添加.,以告知//使用当前上下文

xpath