我想点击下一页
上的Store Pickup Available复选框http://www.target.com/c/pants-shorts-baby-toddler-boys-clothing/-/N-59yk1#navigation=true&viewType=medium&sortBy=newest&isleaf=true&navigationPath=59yk1&parentCategoryId=9976007&facetedValue=/-/N-59yk1&RatingFacet=0&categoryId=139007
特定的HTML部分有
<input type="checkbox" name="facetId" id="in store, onlineCheckbox3"
value="10058540" omniture="Store Pickup Eligible">
我尝试过很多东西By.id(),By.cssSelector()和xpath。
有人可以尝试告诉我工作代码吗...介于两者之间我会继续尝试。
答案 0 :(得分:0)
它将选择您需要写的By.id
<input type="checkbox" name="facetId" id="facetId"
value="10058540" omniture="Store Pickup Eligible">
答案 1 :(得分:0)
问题是您要点击的复选框最初是隐藏的。您可以使用以下内容单击它:
driver.findElement(By.xpath("//a[contains(text(),'in store, online')]")).click();
driver.findElement(By.xpath("//span[contains(text(),'Store Pickup Eligible')]/../../input")).click();
这将在商店,在线&#34;中展开元素&#34;然后点击标有&#34; Store Pickup Eligible&#34;的复选框。
答案 2 :(得分:0)
您可以使用CSS找到此复选框:[id*='onlineCheckbox3']
。正如Richard所说,您必须先单击类别以显示元素。通过以下方式查找:[id=dimensions]>ul>li:nth-child(9) a
。有时单击一个不起作用(取决于html结构),你必须单击锚点内的一个元素,将其交换为span,它应该工作。在定位元素时我更喜欢所有CSS选择器,但您可以使用您喜欢的任何方法。