Select 使用 Chrome 控制台在网页上随机 URL

Select random URL on webpage using Chrome console

我正在尝试制作一个简单的 javascript 命令,我可以从 Chrome 中的控制台 运行。我有一个充满 link 的网页,它们都遵循相同的格式,例如:

<a href="e/example.html">Example</a>

这将把它带到 www.site/e/example.html

我希望能够随机挑选它们并跟随link。我试过使用正则表达式来做,但无法弄清楚如何在控制台中使用它。如有任何帮助,我们将不胜感激!

这是我做的简单表达式(只是提取了“e/example”部分):

$ <a href="(.+?).html">.+?<\/a>

您可以在页面上使用 document.getElementsByTabName 和 select 所有 a 元素。我想,它比正则表达式更有弹性。

https://developer.mozilla.org/en-US/docs/Web/API/Element/getElementsByTagName

首先 select 所有具有 querySelectorAll 的 link:

let links = document.querySelectorAll("a");

然后选择一个随机值,randomIndex returns 一个介于 0 和数组长度之间的整数。

let randomIndex = Math.floor(Math.random() * links.length);
let randomLink = links[randomIndex].href;

randomLink 现在应该包含网页上随机选择的 link。

您可以做的是使用 document.querySelectorAll 列出所有 a 个元素。然后你可以遍历它们并提取它们的 href 属性 像这样:

const links = [...document.querySelectorAll("a")].map(x => x.href);

然后 select 来自这个数组的随机元素:

const link = links[Math.floor(Math.random() * links.length)];