Селен прибудет литий элементы на основе индексной позиции и установите флажок

учащийся:

У меня есть этот HTML теперь используется Селен I муравья, чтобы переключить литиево элемент с заданным индексом позиции говорят 1, где он указывает, я хочу нажать тумблер флажок для весны.

<ul id="todo-list" data-woven="abc">
<li class="active" data-index="0">
    <div class="view">
        <input class="toggle" type="checkbox">
        <label>Java</label>
        <button class="destroy"></button>
    </div>
    <input class="edit">
</li>
<li class="active" data-index="1">
    <div class="view">
        <input class="toggle" type="checkbox">
        <label>Spring</label>
        <button class="destroy"></button>
    </div>
    <input class="edit">
</li></ul>

Я совершенно новый для Селена поэтому не в состоянии понять, как мы можем достичь этого.

Я знаю , чтобы получить ULэлементы с помощью кода:

driver.findElement(By.id("todo-list"));

Теперь , как можно получить liэлемент , основанный на его indexи clickсоответствующий checkbox.

DebanjanB:

Для того, чтобы нажать на CheckBox элемента относительно предка <li>узлов индекса атрибута можно использовать любой из следующих стратегий локатора :

  • CSSSelector :

    driver.findElement(By.cssSelector("ul#todo-list li.active[data-index='1'] input")).click();
    
  • XPath :

    driver.findElement(By.xpath("//ul[@id='todo-list']//li[@class='active' and @data-index='1']//input")).click();
    

рекомендация

отhttp://10.200.1.11:23101/article/api/json?id=478624&siteId=1