使用Selenium单击div标签内具有属性角色的按钮

时间:2019-03-19 11:47:29

标签: java html selenium button

如何使用下面的HTML标签点击button

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

我尝试了以下操作:

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

我收到以下错误消息:

  

无效的选择器:不允许使用复合类名称

2 个答案:

答案 0 :(得分:1)

尝试使用,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 );

答案 1 :(得分:1)

您应该使用WebDriverWait

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

希望这对您有帮助!