Проблема при нажатии на трехсторонний тумблер с помощью селена веб-драйвера с Python - PullRequest
0 голосов
/ 20 мая 2019

Я хочу щелкнуть трехсторонним переключателем, используя селен с python. Идентификаторы html-элементов являются динамическими. Итак, я попытался с XPath, где класс содержит определенный текст! Но я вижу «элемент не найден» / «элемент не виден» целый день!

Я пробовал с приведенной ниже строкой кода, но без помощи.

browser.find_element_by_xpath("//*[contains(@class,'switch switch-three toggle ios') and contains(text(),'Available')]").click()

Вот HTML-код страницы, и я хочу нажать - «Доступно»

<label class="switch switch-three toggle ios" id="radio8526" onclick="" style="float: left; width: 300px; height:15px; margin-right: 20px;margin-left: 20px;">          
    <input id="available8526" value="available" onclick="setVersioningIdFun('8526');document.getElementById('toggleStateButton').click();;" name="onoffswitch8526" type="radio">                    
        <label for="available8526" onclick="">Available</label>
    <input id="unavailable8526" value="unavailable" onclick="setVersioningIdFun('8526');document.getElementById('toggleStateButton').click();;" name="onoffswitch8526" type="radio">
        <label for="unavailable8526" onclick="">Unavailable</label>
    <input id="archived8526" value="archived" onclick="setVersioningIdFun('8526');document.getElementById('toggleStateButton').click();;" name="onoffswitch8526" type="radio" checked="">
        <label for="archived8526" onclick="">Finalised</label>
<a class="slide-button"></a>
</label>

Ответы [ 2 ]

1 голос
/ 20 мая 2019

Из документации w3c Вы можете использовать это для решения вашей проблемы

browser.find_element_by_css_selector('input[id^="available"]').click()
0 голосов
/ 20 мая 2019

Вы можете просто использовать атрибут value, например,

input[value='available']

Вам может потребоваться добавить ожидание для кликабельности, чтобы убедиться, что страница загружена.См. эту ссылку для получения дополнительной информации и некоторых примеров.

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