Я делаю автоматизацию тестирования с помощью Selenium и обычно использую селектора css для поиска элементов. Недавно, однако, я столкнулся с какой-то странной проблемой. Я заметил, что в некоторых случаях селектор css отлично работает, когда я тестирую в консоли браузера. Например, чтобы выбрать конкретную кнопку из многих, я:css селектор работает в браузере, но не в Selenium
(1) $("div.v-app[id^='v-discussions'] .v-button-caption:contains('Add')")
Но когда я использую в селене он возвращает ошибку:
Caused by: org.openqa.selenium.InvalidSelectorException: The given selector div.v-app[id^='v-discussions'] .v-button-caption:contains('Add') is either invalid or does not result in a WebElement. The following error occurred:
InvalidSelectorError: An invalid or illegal selector was specified
Я также попробовал эту строку с querySelector
и I получить ошибку «Незаконная строка»:
(2) document.querySelectorAll("div.v-app[id^='v-discussions'] .v-button-caption:contains('Add')")
Почему это может случиться?
P.S.
Это, как каждый из элементов выглядит следующим образом:
<span class="v-button-caption">Add Comment</span>
Вы используете чистый webdriverjs или транспортир? Благодарю. – alecxe
@alecxe Привет, нет Я использую FirefoxDriver. Спасибо. –
Попробуйте без ': содержит' – Tushar