我正在尝试使用显式等待将此代码更改为:
class InputAutocompleteElement(InputElement):
def __set__(self, obj, value):
driver = obj.driver
element = self.find_element(driver, self.locator)
time.sleep(3)
element.clear()
time.sleep(1)
element.send_keys(value)
time.sleep(3)
element.send_keys(Keys.RETURN)
我在上面几行所做的是:首先,尝试让脚本休眠3秒,然后清除文本框,然后再睡一秒钟,然后发送字符串,然后再睡3秒钟,然后发送一个enter键,因为这是从自动完成中获取名称的强制要求,不可能只键入名称,我的问题基本上是在发送字符串后,page需要时间来获取值,而我发送enter键的速度太快,并且不能像这样工作,页面需要时间来获取值,然后发送enter键。在
谢谢。在
你可能不需要前两个睡眠。最后一次睡眠应该替换为等待自动完成下拉菜单打开的显式等待。基本上,您需要等待与autocomplete下拉列表相关联的某些元素的可见性。如果你不知道如何找到“自动完成”下拉列表,你必须共享一个指向该站点的链接或发布HTML。下面的代码应该能让你知道该怎么做
您可以在python docs中找到更多信息
相关问题 更多 >
编程相关推荐