Я не могу создать событие клика по коду, мне нужно найти элемент для него - PullRequest
0 голосов
/ 21 октября 2019
<button type="button" class="btn _modal" data-toggle="modal" data-keyboard="false" data-backdrop="static" data-target="#request_demo" xpath="1">Products demo</button>

я не могу нажать на этот элемент в моем сценарии селена, пожалуйста, помогите мне

driver.findElement(By.className("btn _modal")).click();

Исключение в теме "main" org.openqa. selenium.NoSuchElementException: такого элемента нет: невозможно найти элемент: {"method": "css selector", "selector": ". btn \ _modal"}

1 Ответ

0 голосов
/ 21 октября 2019

У вас есть пробел

Если вы посмотрите на сообщение об ошибке, вы увидите:

Невозможно найти элемент: {"method": "css selector", "selector": ". Btn \ _modal" }

Обратите внимание на косую черту, добавленную в селектор. Элемент - фактически два класса, примененные к одному элементу;"btn" и "_modal". By.classname() будет содержать только одно имя, поэтому он пытается соединить их и, очевидно, не получится.

Лучший способ справиться с этим - использовать By.cssSelector() и использовать точечную нотацию:

driver.findElement(By.cssSelector(".btn._modal")).click();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...