【问题标题】:Clicking buttons with Selenium WebDriver Java使用 Selenium WebDriver Java 单击按钮
【发布时间】:2020-07-29 04:04:41
【问题描述】:

我正在测试的网站上有一个按钮,Selenium 似乎无法单击它。我尝试了许多不同的方法,但仍然没有。附件是按钮的 HTML 以及 XPath。 有没有其他人经历过这种情况或知道如何解决这个问题?

XPath:

/html/body/div[1]/div/div/form/div[21]/div[3]/button

[HTML]

【问题讨论】:

  • 如果您能在此处分享 URL,那就太好了(如果可能的话)。你得到的错误是什么?

标签: java html selenium selenium-webdriver xpath


【解决方案1】:

可能是同步问题。如果您的元素不在 iframe 中,请尝试以下解决方案,否则您需要先将控件切换到 iframe,然后再处理 Web 元素。

WebDriverWait wait = new WebDriverWait(driver, 30);  
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("/html/body/div[1]/div/div/form/div[21]/div[3]/button"))).click();

或者你也可以试试javascript解决方案:

WebElement element= driver.findElement(By.xpath("/html/body/div[1]/div/div/form/div[21]/div[3]/button"));

JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();", element);

【讨论】:

  • javascript 解决方案有效。非常感谢!
【解决方案2】:

试试下面的代码 -

Actions action = new Actions(driver);
WebElement My_btn = webdriver.findElement(By.xpath("/html/body/div[1]/div/div/form/div[21]/div[3]/button"));
action.moveToElement(My_btn).click(My_btn).build().perform();

让我知道结果。

【讨论】:

    猜你喜欢
    • 2021-11-09
    • 2020-09-04
    • 2016-01-30
    • 1970-01-01
    • 2020-03-16
    • 2012-08-23
    • 2023-04-06
    • 2021-09-03
    • 1970-01-01
    相关资源
    最近更新 更多