gpt4 book ai didi

javascript - 从 Java 应用程序在 Chrome 控制台中执行 JavaScript 命令

转载 作者:行者123 更新时间:2023-12-01 14:28:01 25 4
gpt4 key购买 nike

我想创建一个简单的应用程序,它将在特定页面上的 Chrome 控制台中执行 JavaScript 命令并返回输出。

也就是说,我想从当前页面获取所有可访问的链接。我可以通过在 Chrome 控制台中运行以下命令来做到这一点:

urls = $$('a'); for (url in urls) console.log(urls[url].href);

它将返回一组链接作为输出,我希望能够在我的应用程序中处理这些链接。

我可以从 Chrome 控制台手动运行它,但我想自动执行此任务,因为我有很多链接可以使用。

伪代码如下所示:
function runCommandOnSite(command, site) { ... }

function main() {
let site = "facebook.com";
let command = "urls = $$('a'); for (url in urls) console.log(urls[url].href)";
let result_links = runCommandOnSite(site, command);
console.log(result_links);
}

注:任何可以从 Linux 桌面运行的编程语言都是可以接受的。

最佳答案

听起来您想抓取网页并获取该网页中的所有 URL。每当您遇到此类问题时,请始终搜索任何首选语言的 Web Crawler 示例。

下面给出了一些从给定网页中抓取 URL 集的示例。当然,您可能需要对输出进行一些过滤。但是,做一些玩,看看...

Python 3 - 美丽的汤 4

from bs4 import BeautifulSoup
from urllib.request import urlopen
import ssl

# to open up HTTPS URLs
gcontext = ssl.SSLContext()

# You can give any URL here. I have given the Stack Overflow homepage
url = 'https://stackoverflow.com'
data = urlopen(url, context=gcontext).read()

page = BeautifulSoup(data, 'html.parser')

for link in page.findAll('a'):
l = link.get('href')
print(l)

Java - JSoup

看看 this example .

节点 JS - Cheerio

看看 this example .

使用 Selenium Web 驱动程序 - 适用于大多数编程语言

我不会解释这部分,因为它太宽泛了,超出了这个答案的范围。

关于javascript - 从 Java 应用程序在 Chrome 控制台中执行 JavaScript 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57440373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com