【问题标题】:How to click Buy Now button using selenium?如何使用硒单击立即购买按钮?
【发布时间】:2014-12-03 04:45:59
【问题描述】:

源 HTML 如下所示:

<script id="during-reserve-tpl" type="text/x-lodash-template">
<div class="gd-row">
    <div class="gd-col gu16">
        <div class="emailModule message module-tmargin">
            <div class="error-msg"></div>
            <div class="register brdr-btm">
                <div class="jbv jbv-orange jbv-buy-big jbv-reserve">Buy Now</div>
            </div>
            <div class="topTextWrap brdr-btm tmargin20">
                <div class="subHeading">
                    Only one phone per registered user
                    <p>
                    First come, first serve!
                    </p>
                </div>
            </div>
        </div>
    </div>
</div>
</script>

当我编码时:IWebElement buy = driver.FindElement(By.CssSelector(".jbv.jbv-orange.jbv-buy-big.jbv-reserve")); 它说找不到元素。

我尝试将 By.ClassName 与 while 空格放在一起,但它说不支持复合类。

有什么办法可以点击吗?

【问题讨论】:

    标签: java c# selenium selenium-chromedriver


    【解决方案1】:

    driver.FindElement(By.cssselector("div.jbv.jbv-orange.jbv-buy-big.jbv-reserve"))

    在上面的示例中,css 选择器查找带有名称的 div 标签,它会查找所有带有空格的点

    【讨论】:

      【解决方案2】:

      如果可行,试试这个 By.xpath("//*[contains(@class, 'jbv')]")。

      【讨论】:

        【解决方案3】:

        您可以尝试以下任何一种:

        IWebElement buy = driver.FindElement(By.CssSelector("div.register>div"));
        

        IWebElement buy = driver.FindElement(By.CssSelector("div.register"));
        

        【讨论】:

          猜你喜欢
          • 2014-10-05
          • 2015-09-22
          • 1970-01-01
          • 2013-01-03
          • 1970-01-01
          • 2014-09-15
          • 2014-08-03
          • 2014-01-15
          • 2013-11-02
          相关资源
          最近更新 更多