问题标签 [pageloadstrategy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
39728 浏览

selenium - Chrome 驱动的页面加载策略(更新到 Selenium v​​3.12.0)

我正在使用 Chrome 浏览器来测试 WebApp。

有时页面会在很长一段时间后加载。我需要停止下载或限制他们的下载时间。

在 Firefox 中,我知道PAGE_LOAD_STRATEGY = "eager".

chrome有类似的东西吗?

PS:driver.manage().timeouts().pageLoadTimeout()有效,但之后对 Webdriver 的任何处理都会抛出TimeOutException. 我需要在停止启动后获取页面的当前 url。

0 投票
2 回答
29779 浏览

python - 如何让 Selenium 不等到整个页面加载,它的脚本很慢?

Seleniumdriver.get (url)等到整页加载。但是一个抓取页面会尝试加载一些死掉的 JS 脚本。所以我的 Python 脚本等待它并且不能工作几分钟。这个问题可能出现在网站的每个页面上。

如何限制等待时间,阻止文件的 AJAX 加载,还是其他方式?

我还在 中测试我的脚本webdriver.Chrome(),但将使用 PhantomJS(),或者可能是 Firefox()。因此,如果某些方法使用浏览器设置的更改,那么它必须是通用的。

0 投票
2 回答
16379 浏览

python - 不要等待在 Python 中使用 Selenium 加载页面

如何在页面完全加载之前让 selenium 点击元素并抓取数据?我的互联网连接非常糟糕,所以有时完全加载页面需要很长时间,这有什么问题吗?

0 投票
2 回答
6077 浏览

python-3.x - Python中Chromedriver Selenium的“渴望”页面加载策略解决方法

我想加快 selenium 页面的加载时间,因为我只需要 HTML(我正在尝试使用 BeautifulSoup 抓取所有链接)。使用 PageLoadStrategy.NONE 并不能抓取所有链接,Chrome 也不再支持 PageLoadStrategy.EAGER。有谁知道在 python 中获取 PageLoadStrategy.EAGER 的解决方法?

0 投票
1 回答
304 浏览

python-3.x - 如何在元素通过 Selenium 和 Python 在 HTML DOM 中呈现之前与元素交互

是否可以在页面呈现之前请求一个 URL 并检查元素?我正在使用 Python + Selenium。

0 投票
2 回答
2042 浏览

python - Selenium 下载整个 html

我一直在尝试使用 selenium 来抓取整个网页。我希望其中至少有少数是 spa 的,例如 Angular、React、Vue,所以这就是我使用 Selenium 的原因。

我需要下载整个页面(如果某些内容由于没有向下滚动而没有从延迟加载中加载,那很好)。我尝试设置 time.sleep() 延迟,但没有奏效。获得页面后,我希望对其进行哈希处理并将其存储在数据库中以供稍后比较并检查内容是否已更改。目前哈希每次都不同,这是因为 selenium 没有下载整个页面,每次都会丢失不同的部分数量。我已经在几个网页上证实了这一点,而不仅仅是一个单一的网页。

我可能还有 1000 多个网页要手动浏览,只是获取所有链接,所以我没有时间在它们上找到一个元素以确保它已加载。

这个过程需要多长时间并不重要。如果它需要 1 个多小时,就这样吧,速度并不重要,只有准确性。

如果您有其他想法,也请分享。

我的司机声明

我的网址调用我的超时 = 20

^ 每次在此处获取不同的哈希值,因为相同的 url 不会产生相同的网页

0 投票
1 回答
27 浏览

javascript - 如何在页面加载图像时显示文本轮播

我有一个图像重的网页。200 张图片,总计 100Mb 左右。我可以延迟加载它们,但我想尝试一种不同的技术。

在后台下载图像时显示“页面加载指示器”屏幕(疼痛),但更重要的是,在“页面加载指示器屏幕”中,显示一些标语很好地相互过渡以保持用户忙碌.

我需要在这里使用什么技术?一个接一个地显示一组短语是没有问题的,但是我们如何在页面加载时显示它们,以及在最后一张图片下载后我们如何将其删除?

0 投票
2 回答
1500 浏览

python - 在 Selenium Python 中检查网站的 .readyState 的正确语法是什么?

我正在尝试使用 .execute_script 检查网站的 .readyState,但我不断收到错误消息。

我在 chromedriver 中使用了“none”的 pageLoadStrategy,所以我试图测试网站的 readystate 是否不再“加载”。

注意:这个问题是 Python 特有的。

value = method(self._driver) TypeError: 'str' object is not callable

我也尝试过使用不会引发错误的 lambda,但是打印 readystate 会返回冲突的结果。

加载

0 投票
1 回答
1362 浏览

python - 如果页面在 selenium python 中加载时间过长,如何停止测试

我正在测试一个网站,一切都很好,除非页面花费了太多时间,然后 selenium 继续搜索元素。我试过使用driver.set_page_load_timeout(5),但仍然永远加载。
这是代码:

0 投票
1 回答
949 浏览

python - 将现有驱动程序的 pageLoadStrategy 从 eager 切换为 normal

我设置了pageLoadStrategyaseager但现在我写的关闭网站弹出窗口的方法不起作用(它在pageLoadStrategyis时起作用normal)。所以我想知道如何将pageLoadStrategyfrom更改eagernormal,关闭弹出窗口,然后将其更改回eager 我想要使用eager的,因为我希望我的代码也适用于低速连接。

这是 driver.page_sourcepageLoadStrategy设置为时所获取的页面内容eager

这是页面的一些内容(我想要的),同时pageLoadStrategy设置为normal