gpt4 book ai didi

java - Click() 不适用于按钮,但 getText() 可以在 selenium webdriver 中使用相同的 xpath 正常工作

转载 作者:太空宇宙 更新时间:2023-11-04 14:30:00 29 4
gpt4 key购买 nike

我正在尝试使用 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);

我也尝试过使用隐式等待,但并非没有用。请帮助了解导致按钮未点击的所有可能原因。

最佳答案

原因可能是:

  1. 按钮在您尝试单击时不可单击。因此,请使用明确的预期条件来确保按钮可点击。

    WebDriverWait wait = new WebDriverWait(driver, 10);wait.until(ExpectedConditions.elementToBeClickable(By.xpath("xpath")));

  2. 或者,尝试单击按钮元素的父级。如果可能的话。

  3. 或者,显式注入(inject) java 脚本以单击所需的按钮。

    WebElement 元素 = driver.findElement(By.id("gbqfd"));
    JavascriptExecutor 执行器 = (JavascriptExecutor) 驱动程序;
    executor.executeScript("arguments[0].click();", element);

关于java - Click() 不适用于按钮,但 getText() 可以在 selenium webdriver 中使用相同的 xpath 正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26250959/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com