我正在学习xpath哲学。 在某种程度上,发现的大多数示例都是标准的,手动查找xpath可能很容易。 在以下HTML代码中,我无法理解如何找到作业持续时间的xpath,然后为li项目创建元素列表。
<div class="box rounded6">
<h3 class="s_filter_title">Job Duration :</h3>
<ul>
<li><label><input type="checkbox" class="" name="">Contract</label></li>
<li><label><input type="checkbox" class="" name="">Full Time </label></li>
<li><label><input type="checkbox" class="" name="">Part Time </label></li>
<li><label><input type="checkbox" class="" name="">Internship</label></li>
<li><label><input type="checkbox" class="" name="">Temporary</label></li>
<li><label><input type="checkbox" class="" name="">Temp To Perm</label></li>
</ul>
</div>
答案 0 :(得分:3)
答案 1 :(得分:-1)
要为与文本为工作持续时间的元素相关的<li>
元素创建 List ,您需要将文本为的元素标识为作业持续时间,然后找到以下<ul>
节点,然后找到其子节点,则可以使用以下Locator Strategy:
Java 的解决方案:
xpath1 :
List<WebElement> myElements = driver.findElements(By.xpath("//h3[text()='Job Duration :']//following::ul[1]//li"));
xpath2 :
List<WebElement> myElements = driver.findElements(By.xpath("//h3[contains(., 'Job Duration')]//following::ul[1]//li"));
Python 的解决方案:
xpath1 :
my_elements = driver.find_elements_by_xpath("//h3[text()='Job Duration :']//following::ul[1]//li")
xpath2 :
my_elements = driver.find_elements_by_xpath("//h3[[contains(., 'Job Duration')]//following::ul[1]//li")