【发布时间】:2018-08-09 14:31:14
【问题描述】:
我对 send_keys 函数有疑问。如何让测试等待输入 send_keys 的全部内容?我无法使用 time.sleep,所以我尝试了:
WebDriverWait(self.browser, 5).until(
expected_conditions.presence_of_element_located((By.ID, "name")))
query = driver.find_element_by_id('name')
query.send_keys('python')
driver.find_element_by_id("button").click()
应用在操作完成前点击按钮 send_keys 谢谢你的回答
【问题讨论】:
-
一种方法是轮询元素的
text value。只要webelement没有返回python这个词,就不要点击。 (尽管在您的示例中,我相当确定在您点击之前的time.sleep(1)可以解决问题,但您不想使用它) -
您有什么证据表明在输入所有键之前发生了点击?
send_keys似乎不太可能在完成之前返回。例如,您是否尝试在单击之前获取元素的值,以查看浏览器返回的内容?会不会是您在输入元素上附加了一些导致某种延迟的 javascript? -
谢谢我有一个问题,因为它是针对一个元素的。如果我有一个清单怎么办。我必须等待所有元素。然后使用 send_keys 并从列表中选择一个项目?
-
@Tom1416 ,哪些元素?你到底想让你的脚本做什么?
-
我想等待所有列表项并使用 send_keys 选择一个项目,例如。 query.send_keys ('python')
标签: python selenium selenium-webdriver wait sendkeys