Вы можете пойти с xpath всегда, если нет уникальности с атрибутом. Напр. если вы хотите, чтобы найти элемент, который имеет текст foo
и имя button
тогда я предпочитаю, как показано ниже XPath, если имя не является уникальным там:
//*[@name='button' and text()='foo']
Или для другого класса, но тем же именем
//button[@name='button' and @class='xyz']
или для другого текста, но таким же имени
//input[@name='button' and contains(text(),'Click Here')]
или для различных тегов, но таким же имени
//button[@name='button']
//input[@name='button']
Просто пойдите с любым уникальным свойством и сделайте индивидуальный xpath.
Надеюсь, вы также можете использовать скрипт java для этого, например, для.
WebElement butttonToClick = driver.findElement(By.name("button"));
((JavascriptExecutor)driver).executeScript("arguments[1].click();",butttonToClick);
Где arguments[1]
означает второй элемент с таким же именем.
Пожалуйста, разместите HTML-источник этих двух кнопок –
Требуется HTML-фрагмент. Сначала взгляните на http://stackoverflow.com/a/23819540/2504101 – olyv