在我打电话的某个步骤的网站上:
driver.find_element_by_id("fdsfds")
它完全冻结,在接下来的2分钟左右根本没有任何事情发生。
我想要查找的元素是可见的,并且可以肯定启用。我可以在浏览器中点击它。 即使它不是,为什么代码会被冻结?
任何指针?这是对机器人的某种保护吗?
答案 0 :(得分:0)
您可能已定义driver.implicitly_wait(120)
,这意味着驱动程序最多等待两分钟显示要素,driver
无法找到您的元素。
更好的解决方案是使用显式等待
element = WebDriverWait(driver, 10).until(expected_conditions.presence_of_element_located((By.ID, "fdsfds"))
驱动程序将等待最多10秒钟,以使元素在DOM中存在。