Python 如何确定是否使用selenium加载页面?

Python 如何确定是否使用selenium加载页面?,python,selenium,selenium-webdriver,Python,Selenium,Selenium Webdriver,我正在与一个数据库进行交互,该数据库使用selenium返回有关事件的报纸报道。每次我执行搜索查询时,数据库都会打开一个新页面,并开始加载有关该事件的所有报纸报道。该网页包含一个元素,用于报告找到的相关报告的总数。在页面完全加载之前,数字会发生变化 我的问题是,有没有办法确定页面是否已加载。我目前的策略是检查一个循环中的总报告数,当两个循环报告的总报告数相同时,判断页面是否完成。我不确定这是否是一个好的策略 我目前的策略是检查一个循环中的总报告数,当两个循环报告的总报告数相同时,判断页面是否完成

我正在与一个数据库进行交互,该数据库使用selenium返回有关事件的报纸报道。每次我执行搜索查询时,数据库都会打开一个新页面,并开始加载有关该事件的所有报纸报道。该网页包含一个元素,用于报告找到的相关报告的总数。在页面完全加载之前,数字会发生变化

我的问题是,有没有办法确定页面是否已加载。我目前的策略是检查一个循环中的总报告数,当两个循环报告的总报告数相同时,判断页面是否完成。我不确定这是否是一个好的策略

我目前的策略是检查一个循环中的总报告数,当两个循环报告的总报告数相同时,判断页面是否完成。我不确定这是否是一个好的策略

是的

当“页面被加载”时,没有通用的规则,从某种意义上说,您可以以预期的方式与之交互,并能够控制所需的元素。检查计数器-加载了多少结果是“等待”的一个常见条件-通常是


当页面上存在“无限”滚动分页时,结果计数器尤其常用。每次滚动时,我们都会检查当前结果计数是否大于滚动前的结果计数。这表明新的结果部分已到达,我们可以再次滚动。

当您与数据库交互时(可能是
按钮
链接
)数据库将打开一个新页面并开始加载有关该事件的所有报纸报道,因此评估
(“return document.readyState”).equals(“complete”)
在这方面对我们没有帮助

根据你的问题陈述:

我当前的策略是检查一个循环中的总报告数,当两个循环报告的总报告数相同时,判断页面是否完成。

是的这是正确的方法,但您还没有说明如何实施解决方案

最有效的解决方案是将
预期条件
子句设置为以下任一项:

  • :

  • :


此策略将使您能够花费最短的时间等待
文本在
HTML DOM中呈现

,这可能有助于-
WebDriverWait(浏览器,时间)。直到(条件)
WebDriverWait(driver, 10).until(EC.text_to_be_present_in_element((By.CSS_SELECTOR, "css_selector"), "2"))
WebDriverWait(driver, 10).until(EC.text_to_be_present_in_element_value((By.CSS_SELECTOR, "css_selector"), "2"))