如何使用selenium点击立即购买按钮?

时间:2014-12-03 04:46:00

标签: java c# selenium selenium-chromedriver

源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与空格一起使用,但是它说,不支持复合类。

有没有其他方法可以点击它?

3 个答案:

答案 0 :(得分:1)

driver.FindElement(By.cssselector(&#34; div.jbv.jbv-orange.jbv买-big.jbv储备&#34))

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

答案 1 :(得分:1)

试试这个By.xpath(&#34; // * [包含(@class,&#39; jbv&#39;)]&#34;)如果有效。

答案 2 :(得分:0)

你可以尝试其中任何一种:

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

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