我试图暂停执行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。
答案 0 :(得分:0)
如果您需要满足某些特定条件,可以使用ExplicitWait
+ ExpectedConditions
,例如:
from selenium.webdriver.support.ui import WebDriverWait as wait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
wait(driver, 10).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "Specify css selector for your modal div")))
driver.execute_script('scroll(0, 300);')
* 您可以将您喜欢的任何选择器用作By.XPATH
,By.ID
等
此代码应允许您等待(最多10秒),直到执行脚本
之前所需元素的可见性