Selenium: нажмите на тег по названию, используя XPath - PullRequest
0 голосов
/ 21 января 2020

Нужна помощь по Xpath для следующего кода:

<span class-"metadata-row float-left" style="width: 1.9vw;"> &absp; </span>
<input placeholder="New Course Name" id="newCourseName" type="text” class="metadata-name metadata-name-edit font-12" autofocus>
<span class="fa fa-check metadata-action-icon" title="Save" onclick="addCourse(this)" style="display: block;"> ... </span>

Я хочу нажать «Сохранить», которое упоминается как название в коде, но в пользовательском интерфейсе оно отображается как значок.

Ответы [ 2 ]

1 голос
/ 21 января 2020

К click() для элемента с атрибутом title как Сохранить вам необходимо использовать elementToBeClickable(), и вы можете использовать любой из следующих Стратегий локатора :

  • cssSelector:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("span.fa.fa-check.metadata-action-icon[title='Save']"))).click();
    
  • xpath:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//span[@class='fa fa-check metadata-action-icon' and @title='Save']"))).click();
    
0 голосов
/ 21 января 2020

try javascript executor

((JavascriptExecutor) драйвер) .executeScript ("arguments [0] .click ();", element);

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