【问题标题】:Clicking button with Selenium and Java使用 Selenium 和 Java 单击按钮
【发布时间】:2021-03-29 02:02:39
【问题描述】:

我目前正在做一个项目,我可以选择除一个以外的所有元素,它真的很令人沮丧,代码如下

<a class="btn btn-default button button-medium" href="http://automationpractice.com/index.php?controller=order" title="Proceed to checkout" rel="nofollow">
                        <span>
                            Proceed to checkout<i class="icon-chevron-right right"></i>
                        </span>
                    </a>

我已经尝试过 xpath、css、linktext、title 和其他方法但没有运气,任何帮助都会真正得到帮助

我使用过的 xpath 示例

driver.findElement(By.xpath("/html//div[@id='layer_cart']//a[@title='Proceed to checkout']/span")).click();

我用过的css示例

driver.findElement(By.cssSelector("a[title='Proceed to checkout'] > span")).click();

【问题讨论】:

  • 请发布错误堆栈?
  • 另一个奇怪的事情没有错误

标签: java selenium xpath css-selectors webdriverwait


【解决方案1】:

您可以在按钮 CSS 上使用图标:

.icon-chevron-right right

或xpath:

//i[@class='icon-chevron-right right']

【讨论】:

  • 刚刚试过了,还是不行,好奇怪
【解决方案2】:

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

  • cssSelector:

    driver.findElement(By.cssSelector("a.btn.btn-default.button.button-medium[title='Proceed to checkout'] > span")).click();
    
  • xpath:

    driver.findElement(By.xpath("//a[@class='btn btn-default button button-medium' and @title='Proceed to checkout']/span")).click();
    

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

  • cssSelector:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("a.btn.btn-default.button.button-medium[title='Proceed to checkout'] > span"))).click();
    
  • xpath:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//a[@class='btn btn-default button button-medium' and @title='Proceed to checkout']/span"))).click();
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-07
    • 1970-01-01
    • 1970-01-01
    • 2018-08-22
    • 2021-11-09
    • 2021-07-15
    • 1970-01-01
    • 2021-12-20
    相关资源
    最近更新 更多