Поиск webelement с помощью вложенного xpath в Selenium - PullRequest
0 голосов
/ 08 ноября 2018

Мне нравится тестировать сложное веб-приложение, написанное на GWT, и у меня есть вопрос о том, как работает Selenium.

У меня есть два календаря (monthCalendar1 и monthcalender2). Оба имеют ярлык с месяцем и годом

изображение календарей

Я могу получить метку месяца и года во втором календаре со следующим утверждением:

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 начинает поиск с начала веб-сайта, а не с веб-сайта. Могу ли я использовать второй подход? Как?

С уважением Wim

1 Ответ

0 голосов
/ 08 ноября 2018

Вам необходимо добавить . перед первым //, чтобы указать xpath использовать текущий контекст

webelement.findElement(By.xpath(".//div[contains(@class,'monthAndYearLabel')]"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...