方法driver.find_element_xxx()被冻结2分钟

时间:2015-12-27 18:09:56

标签: python selenium

在我打电话的某个步骤的网站上:

driver.find_element_by_id("fdsfds")

它完全冻结,在接下来的2分钟左右根本没有任何事情发生。

我想要查找的元素是可见的,并且可以肯定启用。我可以在浏览器中点击它。 即使它不是,为什么代码会被冻结?

任何指针?这是对机器人的某种保护吗?

1 个答案:

答案 0 :(得分:0)

您可能已定义driver.implicitly_wait(120),这意味着驱动程序最多等待两分钟显示要素,driver无法找到您的元素。

更好的解决方案是使用显式等待

element = WebDriverWait(driver, 10).until(expected_conditions.presence_of_element_located((By.ID, "fdsfds"))

驱动程序将等待最多10秒钟,以使元素在DOM中存在。