Веб-элемент Seleniumt с пробелами

Как найти веб-элемент в селене с идентификатором, у которого есть 5 пробелов перед и 5 пробелов после слова ac?

Пример id = " ac "

См .: Как мне сделать X? Ожидается, что пользователь, задающий вопрос, не только проведет исследование, чтобы ответить на свой вопрос, но и поделится этим исследованием, попытками кода и результатами. Это демонстрирует, что вы нашли время, чтобы попытаться помочь себе, избавляет нас от повторения очевидных ответов и, прежде всего, помогает вам получить более конкретный и актуальный ответ! См. Также: Как спросить

JeffC 30.05.2018 18:16
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Если вы являетесь веб-разработчиком или тестировщиком, вы можете быть знакомы с Selenium, популярным инструментом для автоматизации работы...
2
1
592
2

Ответы 2

driver.findElement(By.xpath("//*[normalize-space(@id)='ac']")).click

Добавление некоторого текстового контекста в ваш код может помочь будущим читателям. Узнайте, почему Ответы "Попробуйте это: {code}" бесполезны для других читателей и склонны к отрицательным голосам.

DebanjanB 30.05.2018 16:09

@DebanjanB уверен, впредь я буду писать код вместе с соответствующими пояснениями.

Rajagopalan 02.06.2018 09:16

Хотя, вероятно, есть и другие способы доступа к веб-элементу, единственный способ гарантировать, основываясь исключительно на предоставленной вам информации, - это использовать локатор:

//*[@id='     ac     ']

Причина, по которой это правильный ответ, заключается в том, что, хотя вы можете использовать:

//*[contains(@id,"ac")]

Вы не знаете, что xpath будет уникальным сейчас или в будущем.

По аналогии,

//*[normalize-space(@id)='ac']

будет работать для описанного элемента, но он также будет соответствовать другим потенциальным элементам, например, с любой комбинацией пробелов до и / или после "ac"

Другие вопросы по теме