Python 如何使用css_选择器进行选择?

Python 如何使用css_选择器进行选择?,python,selenium-webdriver,datepicker,Python,Selenium Webdriver,Datepicker,我有正确的代码只是它需要很长的时间,直到它选择一个随机的月份。它通过所有的选项来找到那个选项。有没有办法让它更快 尝试: randomMonth = random.choice(["Jan","Feb","Mär","Apr","Mai","Jul","Aug","Sep","Okt","Nov","Dez"]) for i in driver.find_elements_by_tag_name("option"): if i.text == randomMonth: i

我有正确的代码只是它需要很长的时间,直到它选择一个随机的月份。它通过所有的选项来找到那个选项。有没有办法让它更快

尝试:

randomMonth = random.choice(["Jan","Feb","Mär","Apr","Mai","Jul","Aug","Sep","Okt","Nov","Dez"])
for i in driver.find_elements_by_tag_name("option"):
    if i.text == randomMonth:
        i.click()
Payeneer.com Datepicker月选择的登录页面

<select class="ui-datepicker-month" data-handler="selectMonth" data-event="change">
    <option value="0" selected="selected">Jan</option>
    <option value="1">Feb</option>
    <option value="2">Mar</option>
    <option value="3">Apr</option>
    <option value="4">May</option>
    <option value="5">Jun</option>
    <option value="6">Jul</option>
    <option value="7">Aug</option>
    <option value="8">Sep</option>
    <option value="9">Oct</option>
    <option value="10">Nov</option>
    <option value="11">Dec</option>
</select>

简
二月
破坏
四月
也许
六月
七月
八月
九月
十月
十一月
12月

你很接近。有一个帮助器类可以使处理
SELECT
元素更容易。您可以使用
Select
类,在不循环的情况下选择所需的确切选项

from selenium.webdriver.support.ui import Select
...
randomMonth = random.choice(["Jan","Feb","Mär","Apr","Mai","Jul","Aug","Sep","Okt","Nov","Dez"])
select = Select(driver.find_element_by_css_selector("select.ui-datepicker-month"))
select.select_by_visible_text(randomMonth)
注意:如果页面上有很多
SELECT
元素,您可能需要调整我选择的CSS选择器,但是选择一个随机月份,然后从下拉列表中选择该月份的基础知识应该会让您找到正确的方向


有关
Select
类的更多信息,请参阅。

我在登录页面上找不到日期选择器。你能分享一下列表框的html吗。循环应该针对特定的列表>选项,而不仅仅是页面上的所有选项。不知何故添加了html这一行,希望你能帮助我。谢谢你的回答,但它现在给了我这个“AttributeError:'选择'对象没有属性'选择由文本'”@VRX我打字了它。。。现在修好了。它应该是
select\u by\u visible\u text()