Python 一个方法驱动程序。find_element_xxx()被冻结2分钟

Python 一个方法驱动程序。find_element_xxx()被冻结2分钟,python,selenium,Python,Selenium,在我打电话的某个步骤的网站上: driver.find_element_by_id("fdsfds") 它完全冻结了,在接下来的2分钟左右什么也没发生 我试图查找的元素是可见的,并且肯定已启用。我可以在浏览器中单击它。 即使不是,为什么代码会被冻结 有什么建议吗?这是机器人的某种保护吗 您可能定义了驱动程序。隐式等待(120),这意味着驱动程序最多要等待两分钟才能显示元素,而驱动程序无法找到您的元素 更好的解决方案是使用显式等待 element = WebDriverWait(driver,

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

driver.find_element_by_id("fdsfds")
它完全冻结了,在接下来的2分钟左右什么也没发生

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


有什么建议吗?这是机器人的某种保护吗

您可能定义了
驱动程序。隐式等待(120)
,这意味着驱动程序最多要等待两分钟才能显示元素,而
驱动程序
无法找到您的元素

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

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

驱动程序将等待元素出现在DOM中长达10秒。

您可能定义了
驱动程序。隐式地等待(120)
,这意味着驱动程序将等待元素显示长达两分钟,而
驱动程序无法找到您的元素

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

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

驱动程序最多会等待10秒钟,元素才会出现在DOM中。

Hi,在执行此语句之前是否有wait命令?在执行此语句之前,您应该等待一段时间。给它几秒钟的等待,然后看看。你用的是什么驱动程序?它在Chrome和Firefox中都可以复制吗?@alecxe,Firefox。我还没有试过chrome。似乎任何“查找元素”都会以这种方式冻结。2分钟后一切正常。在该网站的某些页面上,它一开始运行良好。@AlanCoromano我怀疑它可能是特定于特定的firefox和selenium版本的。请尝试使用Chrome并尝试升级
selenium
(如果不是最新版本):
pip安装--升级selenium
。您好,在执行此语句之前是否有等待命令?您应该等待一段时间,然后再执行此语句。给它几秒钟的等待,然后看看。你用的是什么驱动程序?它在Chrome和Firefox中都可以复制吗?@alecxe,Firefox。我还没有试过chrome。似乎任何“查找元素”都会以这种方式冻结。2分钟后一切正常。在该网站的某些页面上,它一开始运行良好。@AlanCoromano我怀疑它可能是特定于特定的firefox和selenium版本的。请尝试使用Chrome并尝试升级
selenium
,如果不是最新版本:
pip安装--升级selenium