Selenium(Python):单击按钮后,等待所有新元素(可以具有不同的属性)被加载[重复]

Posted

技术标签:

【中文标题】Selenium(Python):单击按钮后,等待所有新元素(可以具有不同的属性)被加载[重复]【英文标题】:Selenium(Python): After clicking button, wait until all the new elements (which can have different attributes) are loaded [duplicate] 【发布时间】:2020-11-11 06:34:25 【问题描述】:

如何在单击特定按钮后等待屏幕上显示的所有新元素加载?我知道我可以使用presence_of_elements_located 函数来等待特定的元素,但是如何等到所有新元素都加载到页面上?请注意,这些元素可能不一定只有一个属性值,例如类名或 id。

【问题讨论】:

(纠正我,如果我错了)据我所知,在不使用 javascript 的情况下,python 不可能做到这一点......问题在于(至少我认为是这样的) ,因为我试图让我工作很多次)Selenium 正在使用它在打开网站时选择的 html 文件......我可能是错的......但如果我不是,那么你需要使用执行你的命令somekina javascript(如果你想抓取这些数据,那可能是个问题) 【参考方案1】:

实际上你不能,但你可以运行一个脚本来检查。

但请注意,这不适用于 javascript/AJAX 元素。

self.driver.execute_script("return document.readyState").equals("complete"))

【讨论】:

以上是关于Selenium(Python):单击按钮后,等待所有新元素(可以具有不同的属性)被加载[重复]的主要内容,如果未能解决你的问题,请参考以下文章

单击按钮后切换到打开的新浏览器 [Python][Selenium]

单击登录按钮后,Ebay 网站挂起 - Selenium Python

滑块按钮单击selenium python

Selenium 单击instagram Python上的所有关注按钮

在 selenium python 中单击滑块按钮

ElementNotVisibleException:消息:尝试通过 Selenium 和 Python 单击按钮时出现元素不可交互错误