Как выбрать переключатель в Селен Python?

python selenium selenium-webdriver

3119 просмотра

2 ответа

<ul>

                    <li>
                        <label class="checkbox">
                            <input checked="checked" id="fechapublicacion" name="fechapublicacion" onclick="javascript: filtrarListado(&#39;fechapublicacion&#39;, this);" type="radio" value="0" />
                            <span>Cualquier fecha</span>
                        </label>
                        <input id="fechapublicacionhidden" name="fechapublicacionhidden" type="hidden" value="0" />
                    </li>
                    <li>
                        <label class="checkbox">
                            <input id="fechapublicacion" name="fechapublicacion" onclick="javascript: filtrarListado(&#39;fechapublicacion&#39;, this);" type="radio" value="1" />
                            <span>&#218;ltimas 24 horas</span>
                        </label>
                        <input id="fechapublicacionhidden" name="fechapublicacionhidden" type="hidden" value="0" />
                    </li>
                    <li>
                        <label class="checkbox">
                            <input id="fechapublicacion" name="fechapublicacion" onclick="javascript: filtrarListado(&#39;fechapublicacion&#39;, this);" type="radio" value="7" />
                            <span>&#218;ltimos 7 d&#237;as</span>
                        </label>
                        <input id="fechapublicacionhidden" name="fechapublicacionhidden" type="hidden" value="0" />
                    </li>
                    <li>
                        <label class="checkbox">
                            <input id="fechapublicacion" name="fechapublicacion" onclick="javascript: filtrarListado(&#39;fechapublicacion&#39;, this);" type="radio" value="15" />
                            <span>&#218;ltimos 15 d&#237;as</span>
                        </label>
                        <input id="fechapublicacionhidden" name="fechapublicacionhidden" type="hidden" value="0" />
                    </li>
            </ul>

Я пытаюсь выбрать последний переключатель. Поскольку все они имеют одинаковый идентификатор, как я могу выбрать последний.

Любая помощь будет оценена.

Автор: el323 Источник Размещён: 08.11.2019 11:16

Ответы (2)


2 плюса

Решение

На самом деле find_elementsвозвращает список, поэтому у вас проблемы, вы должны попробовать использовать find_elementвместо этого, как показано ниже: -

browser.find_element_by_id("fechapublicacion").click()

Или, если вы хотите использовать find_elements, вы должны попробовать использовать индекс в возвращенном списке, как показано ниже: -

browser.find_elements_by_id("fechapublicacion")[0].click()

Отредактировано : - Как я вижу в предоставленном HTML, я не уникален, и вы хотите выбрать последний элемент с идентификатором, затем попробуйте использовать find_elementsи выбрать последний элемент, передав последний индекс как -1:

browser.find_elements_by_id("fechapublicacion")[-1].click()

Или вы также можете использовать find_elementдля указания этого элемента, используя уникальный, css_selectorкак показано ниже: -

browser.find_element_by_css_selector("input#fechapublicacion[value='15']").click()
Автор: Saurabh Gaur Размещён: 20.08.2016 12:17

0 плюса

Вы используете find_elements ...., который возвращает список. Используйте findelement или getelement, который возвращает один элемент (я понятия не имел о функциях Python). Или же используйте индекс 0 для поиска. он говорит, что пытается найти метод щелчка в списке, который он не получил

Автор: Grasshopper Размещён: 20.08.2016 12:10
Вопросы из категории :
32x32