如何在selenium python中选择一个单选按钮?

时间:2016-08-20 12:01:35

标签: python selenium selenium-webdriver

<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>

我正在尝试选择最后一个单选按钮。由于它们都具有相同的id,我如何选择最后一个。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

实际上find_elements会返回列表,说明您遇到麻烦的原因,您应该尝试使用find_element,如下所示: -

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

或者如果您想使用find_elements,您应该尝试在返回列表中使用索引,如下所示: -

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

已修改: - 由于我在提供的HTML中看到,我在那里并不是唯一的,您想要选择带有id的最后一个元素,然后尝试使用{{1}并通过将最后一个索引作为find_elements传递来选择最后一个元素:

-1

或者您也可以使用browser.find_elements_by_id("fechapublicacion")[-1].click() 使用唯一find_element指向此元素,如下所示: -

css_selector

答案 1 :(得分:0)

您正在使用find_elements ....它会返回一个列表。使用返回一个元素的findelement或getelement(我不知道abt python函数)。或者使用索引0来完成元素。它说它正在尝试在列表上找到一个点击方法,它没有得到