Selenium select элемент, который содержит строку python - PullRequest
0 голосов
/ 23 ноября 2018

Я пытаюсь выбрать и значение параметра из выбранного элемента.

Но мне нужно выбрать тот, который содержит в атрибуте innerhtml или value некоторую строку.

Это мой элемент, которыйя хочу нажать

<option value="01050160181160053049|DEPOSITO|CC|ACTIVOS|105">01050160181160053049 - hhh</option>

Я не знаю, как выбрать его с помощью xpath или чего-то в этом роде, а затем щелкнуть по нему.Можете ли вы помочь мне здесь?

вот мой код, он работает при нажатии на выбранные входные данные, но затем мне нужно выбрать элемент (существует множество различных опций), который содержит конкретную строку на значение или innerhtml.

browser.find_element_by_css_selector('#formContainer > form > table > tbody > tr:nth-child(4) > td.contentA2 > select').click()
browser.find_element_by_xpath('//*[contains(text(),'01050160181160053049')]').click()

Невозможно найти элемент с помощью xpath.

Решение:

browser.find_element_by_xpath('//*[@id="formContainer"]/form/table/tbody/tr[4]/td[2]/select/option[contains(@value, "' + cuenta + '")]').click()

1 Ответ

0 голосов
/ 23 ноября 2018

Это выбирает все элементы 'option', которые имеют атрибут с именем 'value', возможно, вы можете поместить их в список и циклически перебирать их до тех пор, пока одно или несколько из них не будут соответствовать вашим условиям

//option[@value]

Источник: https://www.w3schools.com/xml/xpath_syntax.asp

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