Соглашаться на элемент восходит - automation-id с Selenium?

Я комментирую Вам, что я работаю с Selenium, jaquery, javascript, и я встретился со следующей проблемой у Меня есть страница (Microsoft), которая построена полностью динамика, как я показываю в кодексе:

<button type="button" data-automationid="FieldRenderer-name" data-selection-invoke="true" class="ms-Link nameField_f59ebb65 clickable_f59ebb65 root-203" 
title="BD Operacion">BD Operacion</button>


<button type="button" data-automationid="FieldRenderer-name" data-selection-invoke="true"  class="ms-Link nameField_f59ebb65 clickable_f59ebb65 root-203" 
title="BD Operacion nuevos recursos">BD Operacion nuevos recursos </button>

Поскольку Вы можете видеть, у меня есть 2 элемента, имя которых восходит - automationid = "FieldRenderer-Ямс" - единственная ссылка, чтобы мочь иметь доступ и кроме того повторяется с n количество элементов (array)

Поскольку я могу иметь доступ в этих к типу элементов как то с javascript, jquery или selenium, так как до настоящего времени самым близким, что у меня есть, является этот кодекс, который не функционирует.

driver.FindElement(By.CssSelector("//button[@data-automation-id='FieldRenderer-name'])[1]")).
-2
задан 30.10.2019, 08:22
1 ответ
driver.FindElement(By.CssSelector("//button[@data-automation-id='FieldRenderer-name'])[1]")).

Эта линия неправильная, estГЎs посылая Xpath вместо CSS.

то, что я harГ - в es он говорить разработчикам, чтобы они работали tantito и помещали ids уникумы. Если это не могут, другая альтернатива состоит в том, чтобы получать все элементы и проверять текст, чтобы знать, который выбирать, давайте говорить, что ты хочешь вторую кнопку (это находится в Java, который является тем, что больше я использую, но понятна идея):

List<WebElement> elements = driver.findElements(By.cssSelector("button[data-automationid='FieldRenderer-name']"))

WebElement botonCorrecto;
for(WebElement element: elements){
    if (element.getText().trim().equals("BD Operacion nuevos recursos")){
        botonCorrecto = element;
        break;
    }
}
1
ответ дан 01.12.2019, 14:48

Теги

Похожие вопросы