Selenium, Java - Как нажать на элемент с помощью текста?

1

У меня возникают проблемы с нажатием на элемент, который я нахожу, используя текст, который является переменной. Это код страницы:

<div class="recommendedProfileList fl">
<h3>
<ul class="ctrlResearchProfiles">
<li>
<li>
<li>
<li>
<li>
<li>
<span class="profileBtn ctrlSelectDefProfile ctrlClickSubmit" data-value="143" data-form="formChooseProfile" data-profileid="143">Sales manager</span>
<span class="profileTooltip" style="display: none;">
<span class="arrow"/>
<span class="profileTooltipContent">
</span>

и имя переменной - профиль. Вот как я пытался это сделать, но не работал:

WebDriverWait wait = new WebDriverWait(driver, 5);
    wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//*[text()=' + profile + ']")));

второй:

driver.findElement(By.xpath("//*[text()=' + profile + ']"));

также:

driver.findElement(By.linkText("" +profile)).click();

Вы знаете, как нажимать на такой элемент?

  • 0
    Вы пытаетесь нажать на элемент span с классом "profileBtn"?
  • 0
    Да, и я хочу обратиться к менеджеру по продажам. На странице есть несколько знакомых элементов, и значение данных для каждого из них тоже разное, но я понятия не имею, как использовать этот элемент, поэтому я пробовал с именем
Показать ещё 1 комментарий
Теги:
testing
selenium
webdriver
click

1 ответ

1
Лучший ответ

Ты почти там приятель...

wait = new WebDriverWait(driver, 5);
    wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//*[text()='" + profile + "']")));

второй:

driver.findElement(By.xpath("//*[text()='" + profile + "']"));

То, что вы пропустили, это двойные кавычки, чтобы вставлять значения переменной ur в xpath.

  • 0
    Ваш намек сработал, элемент найден. оказалось, элемент невидим ...
  • 0
    Извините моя ошибка! это работает отлично! большое Вам спасибо :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню