我需要span元素的相对xpath
<span class="icon"></span>
在selenium web driver中。
<span class="custom-checkbox">
<input id="personalization1" name="personalization-terms-check" class="personalization-terms-check required" value="accept" type="checkbox">
<label for="personalization1">
<span class="icon"></span>
<span class="order-ready-text">yes! I double-checked all personalization entered above and i'm ready to order</span>
</label>
</span>
需要span元素的相对xpath
<span class="icon">
在上面的html中我得到了相对路径:
//*[@id="main"]/div[3]/div[4]/div[2]/div/span/label/span[1].
请帮助我获取相对xpath或其他方式来点击范围
注:
<span class="icon">
它可以是多个,所以我需要唯一的相对xpath。
答案 0 :(得分:0)
尝试使用此xpath单击复选框:
.//input[@id='personalization1']
或者您可以使用此xpath
.//span[contains(text(),'yes! I dou')]
答案 1 :(得分:0)
您可以在执行以下任何操作之前等待元素可见性。
WebElement element=driver.findElement(By.xpath("//*[@name='personalization-terms-check']/following-sibling::label/span"));
WebDriverWait wait = new WebDriverWait(driver, 60);
wait.until(ExpectedConditions.visibilityOf(element));
element.click();
您可以使用不同的xpath或id来定位元素。如果页面上只有一个个性化术语复选框,则上述xpath映射是唯一的。
答案 2 :(得分:0)
你可以试试这个xpath吗?
"//label[@for='personalization1']/span[1]"
希望这会有所帮助。感谢。
答案 3 :(得分:0)
试试这个:
试试这个XPath -
//input[@id='personalization1']/label/span