【问题标题】:Can't inspect search button in IntelliJ-selenium Chrome driver无法检查 IntelliJ-selenium Chrome 驱动程序中的搜索按钮
【发布时间】:2018-09-24 13:18:28
【问题描述】:

我正在开发自动化测试网站 www.benjerry.com/。 我无法检查搜索按钮。 我在搜索字段中成功输入凭据,但无法单击搜索按钮。 我尝试了各种组合,但仍然没有。 有人可以帮帮我吗?

有问题的图片

代码行:

driver.findElement(By.cssSelector("div.btn-submit")).click();

【问题讨论】:

    标签: java css selenium selenium-chromedriver


    【解决方案1】:

    因为您已经接受了@kushal 给出的答案。我想强调一些可能对您的自动化旅程有用的要点。

    你可以使用这个 cssSelector : input[id='searchTerm'] ~button>span

    您的代码会这样:

    driver.findElement(By.cssSelector("input[id='searchTerm'] ~button>span")).click();
    

    以下是使用此 cssSelector 的一些好处:

    1. cssSelector 比 Xpath 更一致

    2. Kushal 提供的 Xpath 包含 [2]numeric,它永远不会是 consistent ,如果 Dev 愿意,您的测试可能会失败在 Button 标记内放置 一个跨度。因此,如果您仍然想使用 Xpath ,那么您的 Xpath 应该如下所示:

      //输入[@id='searchTerm']/following-sibling::button/span

    您可以在这里找到 cssSelectorXpath 之间的区别:

    What is the difference between css-selector & Xpath? which is better(according to performance & for cross browser testing)?

    【讨论】:

    • 非常感谢您的建议和建议。
    • 很高兴!我可以帮忙!干杯队友!
    【解决方案2】:

    尝试以下代码行:

    driver.findElement(By.xpath("(//button/span[contains(.,'Search')])[2]")).click();
    

    【讨论】:

    • 我是自动化方面的新手,你能解释一下吗,你是怎么解决这个问题的,或者只是告诉我应该读什么样的文献,这样我下次可以自己解决这个问题?下次我想自己做:)
    • 在这里阅读这篇文章:guru99.com/xpath-selenium.html 并在 google 上搜索 XPATH 和 XPATH AXES 教程
    猜你喜欢
    • 1970-01-01
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 1970-01-01
    相关资源
    最近更新 更多