今私は(少なくとも私にとっては)複雑で、要素を見つけるのに苦労しています(これは動的なものです - 日々変化します)。以下は、ページ上でどのように見えるかです。それらの1以下いくつかの 'li'の中の動的要素
<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>
です:上に同じ名前の '
UL'
<ul class="feed-tips" id="Grid"
以下は、50 '李' です
したがって、ページへのリンク&見出し4( 'href ')は動的なもので、明日からは役に立たないでしょう。 上記は、リスト内の第5回「李」で、私はCSSセレクタで要素を見つけることを試みたが、それは動作しません - ここでは、私が試したものです:
//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();
事前にありがとうございます。あなたは、動的HREFとのアンカー要素を見つけようとしている場合には
試したxpathもここにあります: driver.findElement(By.xpath( "// * @ @ id ="グリッド ")/ li [3]/div [2]/div [2]/div [1]/a ")) – Zoran
@ Zoran元の投稿のCSSが、追加したHTMLソースと一致しません。ソースにはない2つの追加のdivがcssにあります。 50個のliの中にリンクが1つしかない場合、indexを使用するのはなぜでしょうか。 "ul [id = 'Grid']> li a [class = 'summary url']"を使用してください。 – Grasshopper
@Grasshopper - 質問を作成するときにどこかで間違いを犯さなければならない - Ideaは長い質問をしなかった。これらの行については、cssselectorとxpathはページから直接選択されます。彼らは正しいです - ちょうどxpathは実際には5番目ではなく3番目の要素です。 – Zoran