Нажмите элемент не вызывает следующее событие - PullRequest
0 голосов
/ 12 марта 2020

Проблема в том, что при щелчке элемента он не открывает всплывающее окно, которое предполагается открыть. Плавающее меню исчезает и, следовательно, не работает на следующем шаге

Я использовал

System.out.println("RateType_selected"); 

для подтверждения клика

(элемент, по которому щелкает эта команда, находится в плавающем меню и исчезает при прокрутке страницы)

Я не прокручиваю страницу, просто щелкаю элемент, чтобы открыть всплывающее окно, но меню исчезает при нажатии

// Command Element to open the floating menu
driver.findElement(By.cssSelector(".create-for-no-item .create-new.add-rate")).click();

// Command to click on the floating menu element to open popup 


driver.findElement(By.xpath("//li[@class='new-item popup-opener active-new-list-item']//span[@class='new-text'][contains(text(),'Recurring Rate')]")).click();  

driver.findElement(By.cssSelector(".action-dropdown-button:nth-child(3) > .create-new")).click();


// Tried Javascript as well

WebElement addRatetype = driver.findElement(By.cssSelector(".action-dropdown-button:nth-child(3) > .create-new"));
js.executeScript("arguments[0].click();", addRatetype);



((JavascriptExecutor) driver).executeScript("arguments[0].click();",driver.findElement(By.cssSelector(".action-dropdown-button:nth-child(3) > .create-new")));

// Кроме того, попытался поймать попытку

try {
                driver.findElement(By.cssSelector(".action-dropdown-button:nth-child(3) > .create-new")).click();
                System.out.println("Clicked on Recurring rate");
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

1 Ответ

0 голосов
/ 12 марта 2020

Я использовал новый локатор, чтобы найти элемент, и теперь каждый раз лижет

 driver.findElement(By.xpath("//div[@class='create-for-no-item product-create rate sdfcddm need-to-hide-dropdown-panel']//li[2]")).click();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...