Java 几个'内的动态元素;李';

Java 几个'内的动态元素;李';,java,selenium,Java,Selenium,现在我有了更复杂的(至少对我来说)和努力寻找元素(这是一个动态的元素,每天都在变化)。下面是它在第页上的外观。顶部是“ul” <ul class="feed-tips" id="Grid" 提前感谢。如果您试图使用dynamic href查找锚元素,您可以使用xpath,如下所示: //ul[@id='Grid']/li//div[包含(@class,'tip teams')]//a[@href] 我不理解整个问题,但它会列出该层次结构中所有带有属性href的链接。在这种情况下,不要使

现在我有了更复杂的(至少对我来说)和努力寻找元素(这是一个动态的元素,每天都在变化)。下面是它在第页上的外观。顶部是“ul

<ul class="feed-tips" id="Grid" 

提前感谢。

如果您试图使用dynamic href查找锚元素,您可以使用xpath,如下所示:

//ul[@id='Grid']/li//div[包含(@class,'tip teams')]//a[@href]

我不理解整个问题,但它会列出该层次结构中所有带有属性href的链接。在这种情况下,不要使用任何类型的索引。此外,不需要向下钻取层次结构的所有级别


//a[@href]-它将为您提供带有@href的所有链接,而不比较任何值。

也尝试了xpath,这里是:driver.findelelement(By.xpath(“/*[@id=“Grid”]/li[3]/div[2]/div[2]/div[1]/a”)@Zoran原始帖子中的CSS与您添加的html源代码不匹配。css中还有两个源代码中没有的附加div。如果50里中只有一个链接,为什么还要麻烦使用索引呢。只需使用“ul[id='Grid']>li a[class='summary url'].@Grasshopper-我在创建问题时肯定犯了一个错误-我的想法是不要创建一个长问题。关于cssselector和xpath这两行,它们是直接从页面中选取的。它们是正确的-只是xpath实际上是第三个元素,而不是第五个。@Grasshopper这里是元素的层次列表:“1)ul类或id=Grid 2)li类=提要项VEVEVENT tip list row 3)div类=tip medium-9 small-12列填充重置dtstart tip-list-row_uTIP 4)div类=tip match MEDIM-12列5)div类=tip团队6)a href”(是最后一个)您的问题陈述不清楚,是否要获取名称
标题4
?或其他链接?
<li class="feed-item vevent tip-list-row"
<div class="tip medium-9 small-12 column padding-reset dtstart tip-list-row__tip">
<a href="link to a page" class="summary url">Heading4</a>
    //Open 5th from the list
    driver.findElement(By.cssSelector("#Grid > li:nth-child(5) > div.tip.medium-9.small-12.column.padding-reset.dtstart.tip-list-row__tip > div.tip-match.medium-12.column > div.tip-teams > a")).click();