查找Xpath Selenium
我有以下内容:查找Xpath Selenium,selenium,Selenium,我有以下内容: <div class="PickList visible" widgetid="Palette" id="Palette"> <span class="stuff"> <span class="stuff"><span class="lbl">A-B</span><span class="no">1111</span> </span> <span class="st
<div class="PickList visible"
widgetid="Palette" id="Palette">
<span class="stuff">
<span class="stuff"><span class="lbl">A-B</span><span class="no">1111</span>
</span>
<span class="stuffSelect"><span class="lblSelect">C</span><span
class="plu">2222</span></span>
它仍然无法提取字母“C”
如有任何建议,我们将不胜感激。谢谢 您使用的xpath不正确。我为您提供了正确的xpath,或者您也可以使用类名直接获取它 根据讨论更新了xpath:
WebElement selectedCharacter = driver.findElement(By.xpath("//div[@id='Palette']//span[@class='lblSelect']"));
selectedCharacter.getText();
WebElement selectedCharacter = driver.findElement(By.className("lblSelect"));
selectedCharacter.getText();
使用类名:
WebElement selectedCharacter = driver.findElement(By.xpath("//div[@id='Palette']//span[@class='lblSelect']"));
selectedCharacter.getText();
WebElement selectedCharacter = driver.findElement(By.className("lblSelect"));
selectedCharacter.getText();
您可以在xpath下面尝试从div跟踪
driver.findElement("//*[@id='Palette']/span[2][@class='stuffSelect']/span[1][contains(text(), 'C')]");
请尝试下面的Xpath。它将打印您的“C”
driver.findElement(By.xpath("(//div[@id='Palette']//span[1]//span[2]/span)[1]")).getText()
下面是xpath。在XPath或CSS中考虑类<代码>可见/代码>。因为这表示该div有时可能不可见。因此,如果您将
作为类的一部分,请务必使用可见的
CSS
div.PickList.visible span.lblSelect
xpath
//div[@class='PickList visible']//span[@class='lblSelect']
谢谢你的回答。但问题是我不能使用lblSelect,因为它不是唯一的,将来可以有更多的lblSelect.ok,然后您可以在xpath中附加id和类名。我正在编辑我的答案,请尝试一下。您在下面提到,带有class=“lblSelect”的span将不是唯一的。你能更具体地说明你想要完成什么吗?您是否正在尝试特别查找包含“C”的范围?或者你是想在div@id=“调色板”中找到class=“stuffSelect”的跨度?我同意@BreaksSoftware。您的需求一点也不清楚,显然提供的四种解决方案都不起作用?双斜杠散布在xpath中,提供的一些答案也没有多大意义。