源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与空格一起使用,但是它说,不支持复合类。
有没有其他方法可以点击它?
答案 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"));