Как получить идентификатор элемента текста, который находится в выбранном режиме с помощью селена вебдрайвер? - PullRequest
0 голосов
/ 01 февраля 2020

На веб-сайте есть несколько идентификаторов, но я хочу получить идентификатор текста, который находится в выбранном режиме, с помощью Selenium Webdriver.

Из приведенного ниже кода, как я могу получить только идентификатор, который называется "Цвет"?

<td>

<select id="Colour">
<option value="">Select</option>
<option value="ct">Red</option>
<option selected="selected" value="ctt">Blue</option>
</select>

</td>

Спасибо

Ответы [ 3 ]

1 голос
/ 02 февраля 2020

Мы можем получить атрибут id с помощью атрибута selected для указания c td. Пожалуйста, попробуйте ниже код

String requiredId = driver.FindElement(By.XPath("//option[@selected='selected']/..")).GetAttribute("id");

На основе названия цвета (не рекомендуется, поскольку можно выбрать другой цвет)

WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(45));
IWebElement element = wait.Until(ExpectedConditions.ElementIsVisible(By.XPath("//option[@selected='selected' and .='Blue']/..")));

    String requiredId = element.GetAttribute("id");
0 голосов
/ 01 февраля 2020

Чтобы извлечь значение атрибута id родительского <select> elelemt, у которого есть выбранный дочерний элемент, вы можете использовать любой из следующих Стратегий локатора :

  • Использование XPATH 1:

    String gettingid = this.driver.FindElement(By.XPath("//select//option[@selected='selected']//ancestor::select[1]")).GetAttribute("id");
    
  • Использование XPATH 2:

    String gettingid = this.driver.FindElement(By.XPath("//select//option[@selected='selected']//ancestor::select")).GetAttribute("id");
    
  • Использование XPATH 3:

    String gettingid = this.driver.FindElement(By.XPath("//select//option[@selected='selected']//ancestor::select[1]")).GetAttribute("id");
    
0 голосов
/ 01 февраля 2020
<i>
WebElement Cct; 
cct = driver.findElement(By.id("Colour");
String blue = blue.getAttribute("value");
Assert.assertEquals(value, "Blue");
</i>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...