Java 如何在selenuim的无序列表中定位元素

Java 如何在selenuim的无序列表中定位元素,java,selenium-webdriver,Java,Selenium Webdriver,我是Selenium新手,正在尝试为无序列表中的元素创建定位器,我需要为以下内容生成xpath: <ul ="myData" id="myData"> <li class="bodyText"> <span class="msgText">Selection1</span> </li> <li class="bodyText"> <span cla

我是Selenium新手,正在尝试为无序列表中的元素创建定位器,我需要为以下内容生成xpath:

    <ul ="myData" id="myData">
      <li class="bodyText">
       <span class="msgText">Selection1</span>
      </li>
      <li class="bodyText">
       <span class="msgText">Selection3</span>
      </li>


   </ul>
要获取元素,请执行以下操作:


其中1是您想要的li的索引。

如果您不需要通过文本选择li元素,并且您可以使用基于索引的选择,那么我建议您使用CSS选择器而不是xpath。例如:

int i = 1;
By locator = By.cssSelector("#myData li:nth-child(" + i + ")");
进一步阅读:

这个 这是一个很好的解释。
所以没有必要这样做://div[@id='myData']//li[contains@class“msgText”][1]您是指ul而不是div吗?但是不,除非您想按类进行筛选,否则不需要这样做。
int i = 1;
By locator = By.cssSelector("#myData li:nth-child(" + i + ")");