首页 > 解决方案 > 使用书签启动 WebPageTest.org 的测试

问题描述

我正在尝试使用书签开始一个webpagetest.org 的测试。我的书签代码是:

javascript:void(window.open(%27https://www.webpagetest.org/?url=%27+window.location.href,%27_blank%27));

它会打开一个webpagetest.org,将当前页面的url 填充到url 字段中(直到现在一切都正确) - 但不会开始测试。

如何改进小书签代码以开始测试?我只需要触发点击Enter

标签: javascriptbookmarkletwebpagetest

解决方案


我 - 如何使代码工作?

提供的代码不会启动。所以这里有两个小调整。

1 - 小书签的常见结构称为IIFE 构造,即立即调用函数表达式:

javascript:(function () {
    /*code here*/
})();

2 - 第二件事是编码%27%等,这就是代码不会触发的原因。

所以正确的代码可能是:

javascript:(function () {
    window.open('https://www.webpagetest.org/?url='+window.location.href, '_blank')
})();

现在代码可以工作了,它“打开一个webpagetest.org,将当前页面的url填充到url字段中” window.location.href,或者你在触发代码时所在的URL。

但它不会Start Test在打开的页面上按下按钮。

II - 如何Enter在使用书签打开的页面上按?

答案:你不能用书签来做到这一点。至少有两个原因。

主要原因是您希望start test在打开这个新页面后按下按钮,但是 JS(以一种标准的方式)仅适用于一个网页。您可能需要一些其他工具。

第二个原因是网站建设者让它以这种方式工作。此外,网站可能会在单击按钮时要求解决验证码。

III - 可能的解决方案

这可能超出了问题的范围。但是在确切的站点上自动触发按钮的一种可能方法是一些浏览器插件,例如tampermonkey 或greasemonkey

带有上述插件的策略:Wait the page to load. Then if the site with the URL has a non-empty input with exact ID, then press button with an exact tagname.

除了插件之外,可能还有其他一些方法,具体取决于目标。


推荐阅读