从 Java 应用在 Chrome 控制台中执行 Java 脚本命令
Execute JavaScript commands in Chrome Console from Java App
我想创建一个简单的应用程序,它将在特定页面的 Chrome 控制台中执行 JavaScript 命令,并将 return 输出。
也就是说,我想从当前页面获取所有可访问的链接。我可以通过 运行 在 Chrome 控制台中执行以下命令来完成:
urls = $$('a'); for (url in urls) console.log(urls[url].href);
它将 return 一组链接作为输出,我希望能够在我的应用程序中对其进行处理。
我可以从 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。每当您遇到此类问题时,请始终搜索任何首选语言的网络爬虫示例。
下面给出了从给定网页抓取一组 URL 的一些示例。当然,您可能需要对输出进行一些过滤。但是,玩玩看看...
Python3-美汤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://whosebug.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
看看。
节点 JS - Cheerio
看看。
使用 Selenium Web 驱动程序 - 适用于大多数编程语言
我不会解释这部分,因为它太宽了,超出了这个答案的范围。
我想创建一个简单的应用程序,它将在特定页面的 Chrome 控制台中执行 JavaScript 命令,并将 return 输出。
也就是说,我想从当前页面获取所有可访问的链接。我可以通过 运行 在 Chrome 控制台中执行以下命令来完成:
urls = $$('a'); for (url in urls) console.log(urls[url].href);
它将 return 一组链接作为输出,我希望能够在我的应用程序中对其进行处理。
我可以从 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。每当您遇到此类问题时,请始终搜索任何首选语言的网络爬虫示例。
下面给出了从给定网页抓取一组 URL 的一些示例。当然,您可能需要对输出进行一些过滤。但是,玩玩看看...
Python3-美汤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://whosebug.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
看看
节点 JS - Cheerio
看看
使用 Selenium Web 驱动程序 - 适用于大多数编程语言
我不会解释这部分,因为它太宽了,超出了这个答案的范围。