Как щелкнуть по раскрывающемуся элементу с помощью .elementIdClick () в ночном дозоре? - PullRequest
0 голосов
/ 24 января 2020

Я хочу выбрать элемент из выпадающего списка, используя ночные часы. Я могу получить товар до моего, если состояние. это также печатает значение. но когда я нажимаю на элемент, используя elementIdClick, он возвращает {"status":-1,"state":"","value":{"message":"element click intercepted:

     await browser.elements('css selector','#profile-container .col-md-6 .pd-dropdown-wrapper ul li', async function (res) {
     await res.value.forEach(async function (jsonWebElement) {
         let jsonWebElementId = jsonWebElement.ELEMENT;
         await browser.elementIdText(jsonWebElementId, async function (jsonElement) {
             let text = jsonElement.value;
             console.log('text++++',text)
             if(text == 'Last 30 Days'){
              console.log('text^^^^^',text)
              await browser.elementIdClick(jsonWebElement.ELEMENT);
             }
         });
        });
     });

1 Ответ

0 голосов
/ 25 января 2020

Работает со стандартным списком выбора, используя Nightwatch 1.3.2

 browser
    .url('http://icreatehtml.co.uk/select.html')
    .waitForElementVisible('#pet-select')
     // Open the select list
    .click('#pet-select') 
    // Set the value using the visible text
    .click('xpath', `//select[@id='pet-select']//option[contains(text(),'Hamster')]`)
    // Close select list
    .click('body')
    .pause(3*1000)
    // Open the select list
    .click('#pet-select')
    // Set the value using the option value
    .click('#pet-select option[value="cat"]')
    // Close select list
    .click('body')
    .pause(3*1000)
    // Open the select list
    .click('#pet-select')
    // Set the value using a pseudo selector
    .click('#pet-select option:last-child')
    // Close select list
    .click('body')
    .end();
...