一尘不染

Python Selenium如何在单击链接之前等待

selenium

我只是想知道,如何让浏览器在单击链接之前等待?我的目标是从动态网页抓取内容,内容是动态的,但我设法获取表单ID。唯一的问题是,提交按钮仅在2-3秒后显示。但是,我的Firefox驱动程序在页面加载后立即开始单击链接(不是动态部分)。

有什么办法可以让我的浏览器等待2-3秒,直到出现提交按钮?我尝试使用time.sleep()它,但是它暂停了所有操作,提交按钮在显示期间没有出现,time.sleep但是在2-3秒后显示time.sleep


阅读 244

收藏
2020-06-26

共1个答案

一尘不染

您可以像下面这样设置wait:

显式等待

    element = WebDriverWait(driver, 20).until(
    EC.presence_of_element_located((By.ID, "myElement"))

隐式等待:

 driver.implicitly_wait(20) # seconds
 driver.get("Your-URL")
 myElement = driver.find_element_by_id("myElement")

您可以使用以上任何一种。两者均有效。

2020-06-26