我试图在我的网站中找到两个隐藏的元素。我试图通过使用XPath,DOM ID和CSS选择器找到它,但我还没有成功。
这是我的代码:(在相关元素之后有HTML评论)
<style type="text/css">
<ul id="nav" class="Navul">
<li id="li_1" class="menuActive" lname="Mnu_Home">
<li id="li_2" lname="Mnu_Task">
<li id="li_3" lname="Mnu_Sales">
<div class="DetailHolderMenu">
<div id="topnav4" class="topnav4">
<a href="#">
Sales<span></span>
</a>
</div>
<div class="DetailContainerMenu w170" style="font-weight: lighter; display: none;">
<div class="ChildLinks">
<ul class="lsn">
<li id="li_3_1"> <!-- ELEMENT I'M TRYING TO FIND -->
<a href="/Web/ProductRender/Index?childProductId=Product.Achilles_GBO.WIP&childComponentId=Supplier On Boarding&schemaId=Schema.4776.WIP&productId=Product.Achilles_GBO.WIP&communityId=TxnyD.Communities.2.1&index=3&childIndex=3_1">Prospects</a> <!-- OTHER ELEMENT -->
<span></span>
</li>
答案 0 :(得分:1)
点击销售链接后,潜在客户链接是否可见? 你呢 需要做任何其他动作来点击潜在客户链接(比如鼠标 悬停)?
尝试以下逻辑
//click on Sales link
driver.findElement(By.xpath("//div[@id='topnav4']/a[text()='Sales']")).click();
//click prospects
driver.findElement(By.xpath("//div[contains(@class,'DetailContainerMenu')]//li[@id='li_3_1']//a[text()='Prospects']")).click();
答案 1 :(得分:0)
Webdriver可以找到隐藏的元素,但它不允许使用它。 我不知道为什么你无法通过LinkText找到它,所以尝试以下一种方式找到它:
element = driver.FindElement(By.Id("li_3_1")).FindElement(By.TagName("a"));