我有正确的代码,只是它需要很长的时间,直到它选择一个随机的月份。它会遍历所有选项来找到那个选项。有没有办法让它更快些?
已尝试:
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()Payoneer.com日期选择器月份选择的登录页
<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>发布于 2019-09-01 00:32:30
你们已经很接近了。有一个帮助器类可以使处理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类的更多信息,请参见the python docs。
https://stackoverflow.com/questions/57739024
复制相似问题