XPath: есть ли способ выбрать дочерний элемент родного брата, который добавляется динамически - PullRequest
0 голосов
/ 09 июня 2019

Мне нужно дотронуться до дочернего элемента: 'input' родного брата: "ng-form", который создается динамически при касании дочернего элемента предыдущего родственного брата: "input".

Я хочу выбрать и коснутьсявходной элемент элемента в соответствии с моими требуемыми данными массива String.потому что братья и сестры добавлены как предыдущие дочерние братья и сестры: ввод затронут

В настоящее время это моя HTML-форма

<ng-form name="streamValueForm>
    <input name="name" class="ng-touched ng-valid"/>
</ng-form>

<ng-form name="streamValueForm>
    <input name="name" class="ng-untouched ng-invalid"/>
</ng-form>

Это я пытаюсь сделать

string[] values = { "dummy1", "dummy2", "dummy3" };

for( int i=0; i < values.Length; i++)
{
    IWebElement set_values = m_driver.FindElement(By.XPath("//ng-form[@name='streamValueForm']/following-sibling::*//input[contains(@class,'ng-untouched')]"));
    set_values.Click();
    set_values.SendKeys(values[i]);
    System.Threading.Thread.Sleep(5000);
}

братья и сестры продолжают добавлять ng-форму, когда я касаюсь элемента ввода, то есть потомка ng-формы

1 Ответ

0 голосов
/ 10 июня 2019

Если вы хотите выбрать поле ввода ng-untouched ng-invalid:

Вы можете использовать этот селектор CSS:

ng-form[value='streamValueForm'] input[class*='ng-invalid']  

Xpath будет:

//ng-form[@value='streamValueForm']/input[contains(@class,'ng-invalid')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...