如何在Selenium中定位div格式的元素。获取错误无法找到具有xpath表达式的元素

如何在Selenium中定位div格式的元素。获取错误无法找到具有xpath表达式的元素,selenium,selenium-webdriver,selenium-chromedriver,Selenium,Selenium Webdriver,Selenium Chromedriver,代码如下: <div class="footer-bottom-left"> <div class="campaignUser">Campaign User</div> <div class="callLogLookUp">Call Log Look Up</div> </div> 您错过了类名中的破折号。此外,您还需要删除第二个点(第一个也不是必需的)。所以不是 .//div[@class='footer

代码如下:

<div class="footer-bottom-left">
    <div class="campaignUser">Campaign User</div>
    <div class="callLogLookUp">Call Log Look Up</div>
</div>

您错过了类名中的破折号。此外,您还需要删除第二个点(第一个也不是必需的)。所以不是

.//div[@class='footer-bottomleft'].//div[@class='callLogLookUp']
试一试

您可能还需要实现:


已尝试:driver.findElement(By.xpath(“//div[@class='footer-bottom-left']]//div[@class='callLogLookUp'])。单击()。。但事实并非如此worked@RaishulAlam,请尝试更新答案。顺便问一下,你确定
div
是可点击的吗?它看起来不像是可点击的元素,它起作用了。更新后的代码工作正常,没有问题。。谢谢第二个双斜杠
/
不需要。。。它可以/应该是
/
,即/div[@class='footer-bottom-left']/div[@class='callLogLookUp']。这将是如此干净的CSS选择器
div.footer-bottom-left>div.callLogLookUp
:)@JeffC,是的,但在目前的情况下,这并不重要,因为父
div
没有子代,只有子代。另外,
div.footer-bottom-left>div.callLogLookUp
实际上与
/div[@class='footer-bottom-left']/div[@class='callLogLookUp']
不同,但是
/div[contains(@class='footer-bottom-left')]]/div[contains(@class='callLogLookUp')]
。同样的CSS选择器应该是
div[class='footer-bottom-left']>div[class='callLogLookUp']
.//div[@class='footer-bottomleft'].//div[@class='callLogLookUp']
//div[@class='footer-bottom-left']//div[@class='callLogLookUp']
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='footer-bottom-left']//div[@class='callLogLookUp']"))).click();