Веб-драйвер Selenium конвертирует селектор CSS в XPath - PullRequest
0 голосов
/ 31 декабря 2018

Это для Selenium WebDriver xPath.Пожалуйста, обратитесь к снимку экрана.Я пишу следующую кнопку XPath для Collection # 1, но это всего лишь временный текст, который был передан кнопке.но этот текст будет изменен после внедрения BLL.Итак, как мне определить XPath?В интерфейсе захвата экрана и HTML есть.

На данный момент я дал следующий xpath в моем скрипте.

//*[@class='infix' and text()='Collection #1']

Это xPath

/html/body/esx-root/div/esx-prospect-landing/esx-community-search-hero/div[2]/div[2]/div/button[1]

Этоэто CSS

html body esx-root div.container esx-prospect-landing.ng-star-inserted esx-community-search-hero div.content-wrapper div.bottom-wrapper div.hero-actions button span.infix

Это CSS Selector

.hero-actions > button:nth-child(1) > span:nth-child(2)

Как определить короткий путь XPath в моем скрипте.

enter image description here

1 Ответ

0 голосов
/ 01 января 2019

Вам следует обратиться к какому-нибудь учебнику, чтобы написать эффективный и настраиваемый путь xpath или css

  1. Существует множество обучающих веб-сайтов, на которые вы можете ссылаться в зависимости от ваших интересов.

    https://www.guru99.com/xpath-selenium.html

    https://www.softwaretestinghelp.com/css-selector-selenium-locator-selenium-tutorial-6/

    https://selenium -by-arun.blogspot.com / 2012/12/25-locate-ui-elements-by-xpath.html

  2. Всегда предпочитайте относительный xpath вместо абсолютного xpath и его верхней части, предпочитайте CSS-селектор, пока у вас не будет окончательного выбора использования xpath (найти элемент на основе текста)

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

//div/button[contains(.,'Collection #1')]

ИЛИ

//button/span[class='infix'][contains(.,'Collection #1')]

И ниже селектора CSS

.hero-actions>button span.infix

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

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