Как нажать кнопку «span», написанную внутри тега servral div в веб-драйвере Selenium - PullRequest
0 голосов
/ 06 сентября 2018

Я пытаюсь нажать на кнопку span, написанную внутри тега div. div id ="ROOT/Incident Management" является подтэгом еще 2 тега div.

Код проекта ниже

Управление происшествиями

Я хочу нажать ниже кнопку «Управление инцидентами». Приведенные ниже коды пробуются,

1. driver.findElement(By.xpath("//*[@id='cwcNavPanel']/div/div[3]/div/span")).click(); 
2. driver.findElement(By.xpath("//span[contains(@class,'x-panel-header-text') and contains(text(), 'Incident Management')]")).click();
3. driver.findElement(By.xpath("//div[@class='x-panel-header x-panel-header-noborder x-unselectable x-accordion-hd']//span[@class='x-panel-header-text']")).click();
4. driver.findElement(By.xpath("//div[@class='x-panel x-panel-noborder x-tree x-panel-collapsed']//span[@class='x-panel-header-text']")).click();

Код проекта ниже

<div id="ROOT/Incident Management" class="x-panel x-panel-noborder x-tree x-panel-collapsed" style="width: auto;">
    <div class="x-panel-header x-panel-header-noborder x-unselectable x-accordion-hd" id="ext-gen91" style="cursor: pointer;"> 
      <span class="x-panel-header-text" id="ext-gen95">Incident Management</span> 
    </div>
</div>

1 Ответ

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

Большое спасибо за быстрый ответ.

Я добавил нижнюю строку, и она прекрасно работает.

driver.findElement(By.xpath("//span[contains(@id, 'ext-gen') and text()='Incident Management']")).click();

Объяснение таково: span содержит идентификатор «ext-gen» (не точный идентификатор, но сравнимый с аналогичной командой в sql) и имеющий текст типа «Управление инцидентами».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...