Как выбрать только первый доступный флажок селен - PullRequest
0 голосов
/ 24 марта 2020

Я новичок в Selenium, и я пытаюсь выбрать и установить первый флажок из списка данных enter image description here

enter image description here

Я мог бы получить идентификатор флажка со следующим кодом

 public void AssignToCompany()
    {
        var checkedRow = Driver.FindElement(By.XPath("//input[@type='checkbox'][1]"));
        checkedRow.Click();
    }

, но когда я запускаю функцию, я получаю следующую ошибку, и флажок не будет щелкнут! enter image description here

Ответы [ 3 ]

0 голосов
/ 24 марта 2020

Обновление: элемент не взаимодействует означает, что ваш элемент скрыт и не может быть нажат, вам нужно щелкнуть другой xpath

Попробуйте этот xpath Driver.FindElement(By.XPath(".//span[contains(@class,'ui-chkbox-icon')][1]"))

0 голосов
/ 24 марта 2020

Использование FindElements.

public void AssignToCompany()
{
    var checkedRow = Driver.FindElements(By.XPath("(//input[@type='checkbox'])"))[0];
    checkedRow.Click();
}
0 голосов
/ 24 марта 2020

Вы можете нажать на первый флажок, используя код (использовали скобки для ограничения xpath до первого индекса):

public void AssignToCompany()
{
    var checkedRow = Driver.FindElement(By.XPath("(//input[@type='checkbox'])[1]"));
    checkedRow.Click();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...