在 8 个元素的列表中,我会选择包含子 div 中的搜索文本的元素。我需要这个,因为列表的元素每次都会改变顺序。在这里,我想选择包含文本“TITLE TO LISTEN”的那个。如何滚动列表并选择愿望 li?
提前致谢
这里一里:
...
                    <li id="3636863298979137009" class="clearfix" data-size="1" data-fixed="1" data-side="r">
                        <div class="userContentWrapper">
                            <div class="jki">
                                <span class="userContent">
                                    TITLE TO LISTEN
                            </div>                                              
                            <div class="TimelineUFI uiContainer">
                                <form id="u_0_b0" class="able_item collapsed_s autoexpand_mode" onsubmit="return window.Event && E" action="/ajax/ufi/modify.php" method="post" >                                       
                                    <input type="hidden" value="1" name="data_only_response" autocomplete="off">
                                    <div class="TimelineFeedbackHeader">
                                        <a class="ction_link" role="button" title="Journal" data-ft="{"tn":"J","type":25}" rel="dialog" href="/ajax/" tabindex="0" rip-style-bordercolor-backup="" style="" rip-style-borderstyle-backup="" >LISTEN</a>
                                    </div>
                                </form>
                            </div>
                        </div>
                    </li>
                </ol>
            </div>
            ...
我尝试了这段代码,但它不起作用,因为元素 ID 每次都会改变。
    driver.findElement(By.xpath("//li[8]/div[2]/div/div[2]/form/div/div/span[2]/a")).click();
例如:
If text contain "TEXT TO LISTEN":   li[3]/div[2]/div/div/div[2]/div/div/span
Link "listen" i want to click :     li[3]/div[2]/div/div[2]/form/div/div/span[2]/a
这是第 3 号,但顺序可能会改变。我想先得到那个号码然后点击正确的链接