Селен "получить элементы внутри другого элемента" в nodejs - PullRequest
0 голосов
/ 05 октября 2019

Я пытаюсь щелкнуть в третьем поле ввода, но я не могу использовать xpath [3], потому что он изолирован divами. Как я могу получить третий «фильтр цен класса div» и затем получить ввод?

<div class="search-prices">
    <div class="search-price-header">
        <h1>Bid Price:</h1>
        <button class="flat camel-case disabled" disabled="">Clear</button>
    </div>
    <div class="price-filter">
        <div class="info"><span class="label">Min:</span></div>
        <div class="ut-numeric-input-spinner-control">
            <button class="btn-standard decrement-value disabled" disabled=""></button>
                <input type="tel" class="numericInput" placeholder="Any">
                <button class="btn-standard increment-value"></button></div>
    </div>
    <div class="price-filter">
        <div class="info"><span class="label">Max:</span></div>
        <div class="ut-numeric-input-spinner-control">
            <button class="btn-standard decrement-value disabled" disabled=""></button>
                <input type="tel" class="numericInput" placeholder="Any">
            <button class="btn-standard increment-value"></button></div>
    </div>
    <div class="search-price-header">
        <h1>Buy Now Price:</h1><button class="flat camel-case disabled" disabled="">Clear</button>
    </div>
    <div class="price-filter"></div>
        <div class="info"><span class="label">Min:</span></div>
        <div class="ut-numeric-input-spinner-control">
            <button class="btn-standard decrement-value disabled"disabled=""></button>
                <input type="tel" class="numericInput" placeholder="Any">
            <button class="btn-standard increment-value"></button></div>
    </div>
    <div class="price-filter">
        <div class="info"><span class="label">Max:</span></div>
        <div class="ut-numeric-input-spinner-control">
            <button class="btn-standard decrement-value disabled"disabled=""></button>
                <input type="tel" class="numericInput" placeholder="Any">
            <button class="btn-standard increment-value"></button>
        </div>
    </div>
</div>

Я пробовал что-то вроде

  var priceFilter = driver.findElement(By.xpath("//div[@class='price-filter'][3]"));   
  var numericInput = priceFilter.findElement(By.xpath("//input[@class='numericInput']"))
  numericInput.click();

Но мой щелчок всегда происходит при первом вводе,есть идеи почему?

Ответы [ 3 ]

0 голосов
/ 05 октября 2019

Попробуйте и дайте мне знать, работает ли это или нет.

var numericInput =priceFilter.findElement(By.xpath("(//input[@class='numericInput'])[3]"))

numericInput.click();
0 голосов
/ 09 октября 2019

У меня работает xpath:

´´´ // div [@ class = 'price-filter'] [3] // input [@ class = 'numericInput'] ´´´

спасибо, ребята!

0 голосов
/ 05 октября 2019

Попробуйте этот xpath: (//div[@class='price-filter']//input)[3]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...