请教大佬们一个关于selenium元素等待的问题:
因为selenium的wait语法太复杂,我自己定义了个简单的等待函数,在所有地方都挺好用,唯独在等待一个标签名为title的元素加载上出了妖。
def w_tag(tag,n): #等待函数
a=bc.find_elements_by_tag_name(tag)
while len(a)<n:
time.sleep(0.1)
a=bc.find_elements_by_tag_name(tag)
.
.
tt=bc.find_elements_by_class_name('title')
while len(tt)<=5:
time.sleep(0.1)
tt=bc.find_elements_by_class_name('title')
运行完这一段之后len(tt)结果为8,即该名称的标签已加载8个。
但继续运行w_tag('title',5),等待5个标签加载仍是继续无限等待。
上面的函数当然可以加时间条件避免无限等待,但我就是想不通这块。
因为selenium的wait语法太复杂,我自己定义了个简单的等待函数,在所有地方都挺好用,唯独在等待一个标签名为title的元素加载上出了妖。
def w_tag(tag,n): #等待函数
a=bc.find_elements_by_tag_name(tag)
while len(a)<n:
time.sleep(0.1)
a=bc.find_elements_by_tag_name(tag)
.
.
tt=bc.find_elements_by_class_name('title')
while len(tt)<=5:
time.sleep(0.1)
tt=bc.find_elements_by_class_name('title')
运行完这一段之后len(tt)结果为8,即该名称的标签已加载8个。
但继续运行w_tag('title',5),等待5个标签加载仍是继续无限等待。
上面的函数当然可以加时间条件避免无限等待,但我就是想不通这块。