- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Ubuntu 18.04 上,我尝试创建一个提醒来提醒我每天跟踪我的工作日志。
创建sh文件put_hours.sh
#!/bin/bash
zenity \
--forms \
--title="TIME TRACKING" \
--text="Please track your time" \
--add-entry="¿ What have you done ?" \
--ok-label "GO"
case $? in
0) chromium-browser http://site/that/I/want/to/open
;;
1)
;;
esac
使其可执行
chmod +x put_hours.sh
运行
./put_hours.sh
正如你所看到的,这是可行的,但我的问题是:
如何向打开的网址中的 chrome/chromium 控制台发送 javascript 命令?
我需要运行一个简单的命令,例如:
document.getElementById("my_id").value = 'nothing to do'
作为字符串发送的值'nothing to do'应该是Zenity打开的窗口传递的值。
我使用 Zenity 制作窗口,但我并没有被迫使用这个软件。
最佳答案
单击GO
后,Zenity 将打印用户输入到标准输出的小时数。
第一步是修改脚本以捕获结果并将其分配给变量:
hours=$(zenity \
--forms \
--title="TIME TRACKING" \
--text="Please track your time" \
--add-entry="¿ What have you done ?" \
--ok-label "GO")
<小时/>
您接下来可以执行的操作取决于您对网站的访问和控制类型。有些选项是 hack。
对于以下每个选项,将 $hours
变量作为查询参数传递给网站,例如:
case $? in
0) chromium-browser "http://site/that/I/want/to/open?hours=$hours"
你可能很幸运,上面的方法就可以了。如果它首先不起作用,您可能有错误的查询参数名称。
要确定正确的查询参数名称是什么,请检查源代码以及手动提交表单时它的行为方式。
例如https://www.google.com?q=pre+populate+the+search+bar
使用Tamper Monkey用于在页面加载时运行用户脚本的工具,该脚本会提取查询参数并设置字段。
// ==UserScript==
// @name Set Hours
// @match http://site/that/I/want/to/open*
// ==/UserScript==
(function() {
var urlParams = new URLSearchParams(window.location.search); // Reference: https://stackoverflow.com/a/47566165/241294
if (urlParams.has('hours')) {
var hours = urlParams.get('hours');
document.getElementById("my_id").value = hours;
alert('well done ad3luc you did ' + hours + ' hours today');
}
})();
当然,缺点是现在逻辑位于两个地方,您的脚本和浏览器。
这是一个 hack,但我确实喜欢关注点分离。该脚本将值发送到网站。网站,设置字段值。
您还需要确保您选择的参数不会与网站使用的任何现有查询参数发生冲突。
更改网站的源代码,使其支持选项 A。
关于javascript - 从命令行打开 Chrome/Chromium 并将 javascript 操作发送到 chrome/chromium 控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51040609/
启用后 chrome://flags/#native-file-system-api在我的 chrome 83.0.4103.61 中,我尝试使用这个新 API 访问文件夹 handle = awai
我下载并开始玩 CEF,但似乎没有任何文档。甚至没有一个有效的维基……我错过了什么吗? 最佳答案 大多数文档都在 CEF 的 header files 中.二进制分发版附带从这些文件生成的文档。它在编
我正在尝试在 ubuntu 上构建 chromium,我遵循了 chromium 官方网站上的所有说明但是之后我遇到了一些错误 fetch --nohooks --no-history chromiu
我尝试使用命令ninja -C out/Debug chrome来编译Chromium。 但是错误消息显示: ninja error loading 'build.ninja': the system
有没有办法告诉Tampermonkey脚本在 Chromium 中运行使用亲属 @require文件路径?例如,如果我有以下脚本标题: // ==UserScript== // @name
在Qt5.2版本下,我使用的是QtWebView,它可以自动调用第三方扩展,支持avi、mpeg、mov、flv等视频格式。但是当我升级到Qt5.10,把QtWebView改成QtWebengineV
我认为这很容易,但我找不到任何指向简单 tar.gz/tar.bz2/zip 存档的链接。 Chrome 使用一些自定义工具,例如 build_depot甚至下载源代码。但是我不想编译源代码,我只想看
我尝试将 --ignore-gpu-blacklist 参数设置为 JCEF,但我找不到方法。我应该使用的方法是这样的:CefApp::onBeforeCommandLineProcessing(St
我尝试使用 update-alternatives 通过以下命令将 Chromium 设置为默认 Web 浏览器。虽然我成功地将'/snap/bin/chromium'添加到--config中,但它不
我在我们的应用程序中遇到了奇怪的行为,这是一个在 Android 上运行的 Phonegap 包装的 WebView。我不确定我是在查看错误还是可能有其他原因,因此提出了这个问题。 大约从 2013
背景 我的任务是用 Chromium 替换我们基于 IE 的打印逻辑,以便我们最终可以支持在 Windows Server Core 或可能支持 .Net Core 的其他操作系统上运行我们当前的服务
Electron 可以编译成操作系统,基于 Chromium 操作系统而不是 Chromium 浏览器吗?至少理论上是这样。 所以我可以在没有任何操作系统的情况下安装我的软件。它可以在类似 kiosk
如果我的计算机上运行多个不同的 native 应用程序,这些应用程序使用某种形式的嵌入式 Chromium(可以是 CEF、Electron 或类似的东西)是否有任何 Chromium 消息传递(进程
我在我的 .NET 应用程序中使用 Puppeteer Sharp 来执行一些网页自动化任务。但是,我必须在只能访问 Intranet 的环境中部署我的应用程序,这意味着 Puppeteer 的 Br
What settings can be modified/added, to optimize Firefox / Chromium for low memory/cpu systems su
What settings can be modified/added, to optimize Firefox / Chromium for low memory/cpu systems su
我有一个 RPi 4 在 kiosk 模式下运行,带有 7 英寸显示屏,它在启动时使用以下参数打开 Chromium(禁用捏合缩放和信息栏): chromium-browser --noerrdial
在 Ubuntu 18.04 上,我尝试创建一个提醒来提醒我每天跟踪我的工作日志。 创建sh文件put_hours.sh #!/bin/bash zenity \ --forms \
所以我尝试我的第一个 Chrome 构建只是为了好玩,我已经通过 gclient 配置和同步获得了我想要的所有文件。然而,没有VS可以打开的项目文件,只有一堆对我来说没用的.gyp文件。 命令“gcl
我创建了一个使用 Playwright 的 Azure 函数。它在本地工作,好吧,那部分不会改变) 然后我创建了 Azure DevOps 管道,因此它使用 Ubuntu 代理,使用 PLAYWRIG
我是一名优秀的程序员,十分优秀!