Как найти элемент, используя динамический X-путь для ссылки? - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь найти элемент, используя путь Dynamic x, но мой код не работает для элемента

<a href="/corporate-checkups/our-corporate-services.html" class="has-submenu" id="sm-15547263985364824-1" aria-haspopup="true" aria-controls="sm-15547263985364824-2" aria-expanded="false"><span class="sub-arrow">+</span>Our Services</a>

Хочу выбрать подменю с помощью класса Action, но здесь я не могу найти элемент

Ответы [ 2 ]

0 голосов
/ 08 апреля 2019

По сути, ваш локатор - это ссылка, поэтому вам нужно использовать очень простые опции:

driver.findElement(By.partialLinkText(“Element LINKTEXT”));

driver.findElement(By.LinkText(“Element LINKTEXT”));

Выберите, какой из них, по вашему мнению, вам больше подходит.

0 голосов
/ 08 апреля 2019

К click() в подменю Вы можете использовать любой из следующих Стратегий локатора ( Java Solution ):

  • cssSelector :

    driver.findElement(By.cssSelector("a.has-submenu[href='/corporate-checkups/our-corporate-services.html']>span.sub-arrow")).click();
    
  • xpath :

    driver.findElement(By.xpath("//a[@class='has-submenu' and @href='/corporate-checkups/our-corporate-services.html']/span[@class='sub-arrow']")).click();
    
...