Python selenium 等待下拉更新
Python selenium wait for dropdown update
出于某种原因,在选择另一个下拉列表后,一个下拉列表会延迟更新,因此我必须使用 time.sleep(),我真的不喜欢它。有没有办法检查下拉列表何时更新并等待它?
element = Select(find(driver, "//*[@id='new-item-type']"))
element.select_by_index(random.randint(1,len(element.options)-1))
time.sleep(1)
element = Select(find(driver, "//*[@id='new-item-product']"))
element.select_by_index(random.randint(1,len(element.options)-1))
<option data-v-16f7cab4="" value="" disabled="disabled" selected="selected"> Select Product </option>
我网页中的所有下拉菜单都已经有一个默认选项,所以我无法检查它何时被填充,因为它已经是。
后续下拉菜单中的所有选项均受上一个下拉菜单中所选选项的影响。
while True:
if len(element.options) != 1:
element.select_by_index(random.randint(1,len(element.options)-1))
break
它可能不是完美的解决方案,但在我的情况下它有效,因为从下拉菜单中选择内容后总是至少有 2 个元素。
出于某种原因,在选择另一个下拉列表后,一个下拉列表会延迟更新,因此我必须使用 time.sleep(),我真的不喜欢它。有没有办法检查下拉列表何时更新并等待它?
element = Select(find(driver, "//*[@id='new-item-type']"))
element.select_by_index(random.randint(1,len(element.options)-1))
time.sleep(1)
element = Select(find(driver, "//*[@id='new-item-product']"))
element.select_by_index(random.randint(1,len(element.options)-1))
<option data-v-16f7cab4="" value="" disabled="disabled" selected="selected"> Select Product </option>
我网页中的所有下拉菜单都已经有一个默认选项,所以我无法检查它何时被填充,因为它已经是。
后续下拉菜单中的所有选项均受上一个下拉菜单中所选选项的影响。
while True:
if len(element.options) != 1:
element.select_by_index(random.randint(1,len(element.options)-1))
break
它可能不是完美的解决方案,但在我的情况下它有效,因为从下拉菜单中选择内容后总是至少有 2 个元素。