我正在尝试使用xpath单击弹出窗口上的按钮,我尝试了以下代码:
MySuite.driver.findElement(By.xpath("html/body/div[9]/div[3]/div/button[4]")).click();
它没有点击预期的按钮,但当我使用相同的xpath并使用getText()方法时,它返回正确的值:
String test=MySuite.driver.findElement(By.xpath("html/body/div[9]/div[3]/div/button[4]")).getText();
System.out.println(test);
我也试过使用Implicit wait但是没有用。请帮助按钮不被点击的所有原因。
答案 0 :(得分:0)
原因可能是:
在您尝试点击按钮时,按钮无法点击。因此,请使用明确的预期条件,以确保按钮可单击。
WebDriverWait wait = new WebDriverWait(driver, 10);wait.until(ExpectedConditions.elementToBeClickable(By.xpath("xpath")));
或者,尝试点击按钮元素的父元素。如果可以的话。
或者,显式注入java脚本以单击所需按钮。
WebElement element = driver.findElement(By.id("gbqfd"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);