gpt4 book ai didi

java - 如何使用 Selenium 和 Java 在自动化测试中单击按钮

转载 作者:行者123 更新时间:2023-12-01 16:25:18 24 4
gpt4 key购买 nike

我正在尝试使用 Selenium 自动化测试,并且想使用 xpath 单击按钮。这就是我正在做的事情:

WebElement LogInButton = driver.findElement(By.xpath("/login"));
LogInButton.click();

但我收到一条错误消息:

Exception in thread "main" org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"/login"}

我所掌握的有关该按钮的唯一信息是:

<a href="/login">Login</a>

及其重定向到的 URL。我究竟做错了什么?引用此按钮的正确方法是什么?任何帮助请告诉我。谢谢

最佳答案

要在元素上调用 click(),您可以使用以下任意一个 Locator Strategies :

  • 使用linkText:

    driver.findElement(By.linkText("Login")).click();
  • 使用cssSelector:

    driver.findElement(By.cssSelector("a[href='/login']")).click();
  • 使用xpath:

    driver.findElement(By.xpath("//a[@href='/login' and text()='Login']")).click();
<小时/>

最佳实践

当您调用 click() 时,理想情况下您需要诱导 WebDriverWait对于 elementToBeClickable(),您可以使用以下任一 Locator Strategies :

  • 使用linkText:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.linkText("Login"))).click();
  • 使用cssSelector:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("a[href='/login']"))).click();
  • 使用xpath:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//a[@href='/login' and text()='Login']"))).click();
<小时/>

引用

您可以在以下位置找到一些相关讨论:

关于java - 如何使用 Selenium 和 Java 在自动化测试中单击按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62161046/

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