Нажатие на кнопку с ролью атрибута в теге div с помощью Selenium - PullRequest
2 голосов
/ 19 марта 2019

Как нажать на button с помощью тега HTML ниже

<div class="_1WZqU PNlAR" role="button">OK</div>

Я пробовал со следующим:

driver.findElement(By.xpath("//button[text()='OK']")).click();
driver.findElement(By.className("_1WZqU PNlAR")).click();

Я получил следующее сообщение об ошибке:

неверный селектор: составные имена классов не разрешены

Ответы [ 2 ]

1 голос
/ 19 марта 2019

Вы должны использовать WebDriverWait :

WebDriverWait wait = new WebDriverWait(driver, 10); 
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[text()='OK']")));
element.click();

Надеюсь, это поможет вам!

1 голос
/ 19 марта 2019

попробуйте использовать, тег HTML отсутствует в HTML

//div[text()='OK']

используйте этот код

driver.findElement(By.xpath("//div[text()='OK']")).click();

вы также можете использовать JavascriptExecutor

WebElement OKBtnElement = driver.findElement(By.xpath("//div[text()='OK']"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", OKBtnElement );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...