Ошибка «Не удается найти элемент» при попытке найти кнопку «Добавить в корзину» на флипкарте - PullRequest
0 голосов
/ 08 января 2020

Я пытаюсь найти кнопку Add to Cart на флипкарте, но она не работает

Я пробовал ниже xpaths, но ни одна не работает

By AddToCart= By.xpath("//button[@class='_2AkmmA _2Npkh4 _2MWPVK'][text()='ADD TO CART']");

ИЛИ

By AddToCart= By.xpath("//button[text()='ADD TO CART']");

// ошибка

org.openqa.selenium.NoSuchElementException: нет такого элемента: невозможно найти элемент: {"method": "xpath", "selector": "// button [@ class = '_ 2AkmmA _2Npkh4 _2MWPVK'] [text () = 'ДОБАВИТЬ В КОРЗИНУ'] "}

Ответы [ 5 ]

1 голос
/ 09 января 2020

Попробуйте это.

По CSS Селектор - .row .col > button

По XPath - .//button[text()='ADD TO CART']

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

Вы также пытаетесь с классом.

Примерно так ниже.

// кнопка [@class = '_ 2AkmmA _2Npkh4 _2MWPVK']

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

Попробуйте следующий Xpath.

//button[@class='_2AkmmA _2Npkh4 _2MWPVK' and contains(.,'ADD TO CART')]

или

//button[contains(.,'ADD TO CART')]

By AddToCart= By.xpath("//button[@class='_2AkmmA _2Npkh4 _2MWPVK' and contains(.,'ADD TO CART')]");
0 голосов
/ 08 января 2020

Это сообщение об ошибке ...

org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//button[@class='_2AkmmA _2Npkh4 _2MWPVK'][text()='ADD TO CART']"}

... означает, что WebDriver не удалось найти элемент.

Вы были довольно близко. Чтобы найти и click() на элементе с текстом ДОБАВИТЬ В КОРЗИНУ , вам нужно вызвать WebDriverWait для elementToBeClickable(), и вы можете использовать любую из следующих Стратегий локатора :

  • cssSelector:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("ul.row>li>button"))).click();
    
  • xpath:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//button[text()='ADD TO CART']"))).click();
    
0 голосов
/ 08 января 2020

Попробуйте этот xpath:

.//ul[@class='row']/li/button
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...