mkkhedawat
mkkhedawat

Reputation: 1717

How to click Buy Now button using selenium?

Source HTML look like this :

<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>

When I code : IWebElement buy = driver.FindElement(By.CssSelector(".jbv.jbv-orange.jbv-buy-big.jbv-reserve")); It says Element not found.

I tried putting By.ClassName with while spaces but it says, compound classes are not supported.

Is there any alternative to click it ?

Upvotes: 2

Views: 594

Answers (3)

test7
test7

Reputation: 63

Try this By.xpath("//*[contains(@class, 'jbv')]") if it works.

Upvotes: 1

Subh
Subh

Reputation: 4424

You can try either of these:

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

OR

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

Upvotes: 0

nipiv
nipiv

Reputation: 332

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

In the above example css selector looks for div tag with name and it will look for all the dot with space

Upvotes: 1

Related Questions