【问题标题】:Selenium to click this buttonSelenium 单击此按钮
【发布时间】:2021-05-04 02:53:37
【问题描述】:

我正在尝试创建一个测试以选择此按钮

<button type="submit" class="btn btn--stretch btn--primary btn--green t-auth__login--btn">
                Create my account</button>

我使用的代码是这样的,但是它不起作用

driver.findElement(By.className("btn btn--stretch btn--primary btn--green t-auth__login--btn")).click();

有人能告诉我编写这个测试的正确方法吗?

如果有帮助的话,有问题的网页是https://www.dunnesstores.com/customer/login

【问题讨论】:

    标签: java selenium xpath css-selectors webdriverwait


    【解决方案1】:

    到元素上的click(),您可以使用以下任一Locator Strategies

    • cssSelector

      driver.findElement(By.cssSelector("button.btn.btn--stretch.btn--primary.btn--green.t-auth__login--btn")).click();
      
    • xpath

      driver.findElement(By.xpath("//button[@class='btn btn--stretch btn--primary btn--green t-auth__login--btn' and contains(., 'Create my account')]")).click();
      

    理想情况下,click() 需要在元素上诱导 WebDriverWaitelementToBeClickable(),您可以使用以下任一 Locator Strategies

    • cssSelector

      new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("button.btn.btn--stretch.btn--primary.btn--green.t-auth__login--btn"))).click();
      
    • xpath

      new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//button[@class='btn btn--stretch btn--primary btn--green t-auth__login--btn' and contains(., 'Create my account')]"))).click();
      

    【讨论】:

      猜你喜欢
      • 2020-02-24
      • 2019-06-10
      • 1970-01-01
      • 2019-12-14
      • 1970-01-01
      • 1970-01-01
      • 2013-12-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多