【发布时间】:2017-08-30 14:10:33
【问题描述】:
您好,我试图暂停 Selenium 的执行几秒钟以等待 Modal 弹出窗口显示。
但是time.sleep(5) 不能使用 phantomJS(我听说 PhantomJS 不支持睡眠)。
所以我想出了setTimeout。
driver.execute_script('setTimeout(function(){"scroll(0, 300);"}, 3600);')
但它甚至在 Chrome Selenium 驱动程序中也不起作用。
尽管driver.execute_script('scroll(0, 300);') 有效,但我不知道如何在 selenium 中执行 setTimeout。
【问题讨论】:
-
为什么不只是
import time并在driver.execute_script('scroll(0, 300);')之前设置time.sleep(3.6)? -
@Andersson 我试过了。但我不能使用 time.sleep(3.6)。我需要等待 madal 弹出窗口显示。当我使用 time.sleep(3) 时,它会引发“元素当前不可交互且可能无法操作”错误。当我得到屏幕截图时,模式弹出窗口不显示。
-
@VivekMaru 我已经尝试过
driver.set_page_load_timeout(10)、driver.set_script_timeout(3)和`driver.implicitly_wait(10)'。但它没有用。
标签: javascript python selenium