点击此 Google 翻译按钮不起作用?

2023-12-07

我正在创建一个 Tampermonkey 用户脚本,它会自动单击 Google 翻译网站上的“星号”按钮并保存我的搜索,以便我以后可以查看它们并进行排练。

This is the button that I am targeting: enter image description here

这是我到目前为止所得到的:

// @match        https://translate.google.com/#en/de/appetit/
var el = document.getElementById("gt-pb-star");
setTimeout(function(){
el.click();
},4000);

我遇到了2个问题。

  1. @match应该是每次translate.google.com 搜索而不仅仅是胃口。如何指定整个域?
  2. 我尝试使用 click() 方法单击“星号”按钮,但它不起作用。不知道为什么。

你能帮我完成这个用户脚本吗?

编辑:似乎设置match to https://translate.google.com/处理第一个问题。仍然不知道为什么 click() 不起作用。


See 在 AJAX 驱动的站点上选择并激活正确的控件.
控件并不总是与click。对于 Google 页面尤其如此。

此按钮有几件事您需要注意:

  1. 单击时不会触发。
  2. 事件附于#gt-pb-star > .trans-pb-button, not #gt-pb-star.
  3. 即使按钮位于页面上,它仍然没有准备好。该按钮可能需要数百毫秒才能单击。
  4. 在这种情况下,按钮在启动时是不可见的,并且在准备单击的同时变得可见。因此,您必须等到节点同时存在并且visible.

这是一个 Greasemonkey/Tampermonkey 脚本,可以完成所有这些操作:

// ==UserScript==
// @name     _Auto click the Star button on Google Translate
// @match    https://translate.google.com/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant    GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
    introduced in GM 1.0.   It restores the sandbox.
*/
waitForKeyElements ("#gt-pb-star > .trans-pb-button", clickNodeWhenVisible);

function clickNodeWhenVisible (jNode) {
    if (jNode.is (":visible") ) {
        triggerMouseEvent (jNode[0], "mouseover");
        triggerMouseEvent (jNode[0], "mousedown");
        triggerMouseEvent (jNode[0], "mouseup");
    }
    else {
        return true;
    }
}

function triggerMouseEvent (node, eventType) {
    var clickEvent        = document.createEvent('MouseEvents');
    clickEvent.initEvent (eventType, true, true);
    node.dispatchEvent   (clickEvent);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

点击此 Google 翻译按钮不起作用? 的相关文章

随机推荐

  • 使用 Gmail SMTP 发送电子邮件时出错

    我正在尝试使用 Gmail SMTP 发送电子邮件PHPmailer 问题是我有这个错误 SMTP gt ERROR Failed to connect to server php network getaddresses getaddri
  • 使用正则表达式以任意顺序排列多个单词[重复]

    这个问题在这里已经有答案了 正如标题所说 我需要在句子中找到两个特定的单词 但它们可以是任何顺序和任何大小写 我该如何使用正则表达式来做到这一点 例如 我需要提取单词test and long从下面的句子中是否该词test首先出现或long
  • Linq2SQL:更新对象未在数据上下文中创建

    通常 当您在 linq2sql 中更新对象时 您会从数据上下文中获取该对象并使用相同的数据上下文来保存该对象 对吧 更新尚未由用于执行保存操作的数据上下文检索的对象的最佳方法是什么 即我使用Florinefx在flex和asp net之间传
  • 错误代码 1005,SQL 状态 HY000:无法创建表 errno:150

    我正在尝试创建一个表 但是当我的 netbeans 出错数据库的第一个表时 脚本就会失败 如何解决这个问题 CREATE TABLE filmy Film Id int NOT NULL Nazwa varchar 250 Adres va
  • HttpModule 仅在特定 MVC 路由上

    我有一个习惯IHttpModule我只想在特定路线上工作 例如 http example com HandleAzureTask 我希望这个模块只能在 HandleAzureTask route 由于这不是控制器 我无法真正设置 Autho
  • UINavigationBar 旋转和自动布局

    关于通过将 UINavigationBar 插入场景来设计自己的视图控制器 我发现了许多关于旋转设备时框架高度如何不改变的问题的参考 这与 Apple 在其导航控制器中使用 UINavigationBar 的方式形成鲜明对比 其中导航栏的高
  • 如何在 Easy Slider 1.7 中重新启动滑动动画

    我有一个关于 jQuery Easy Slider 1 7 的问题http cssglobe com post 5780 easy slider 17 numeric navigation jquery slider带有数字导航 当我使用滑
  • R线性回归公式中的大写字母“I”是什么意思?

    我一直无法找到这个问题的答案 主要是因为谷歌搜索带有独立字母 如 I 的任何内容都会导致问题 我 在这样的模型中做什么 data rock lm area I peri mean peri data rock 考虑到以下方法不起作用 lm
  • 用于匹配包含点的整个单词的正则表达式

    在下面的句子中 我下午 5 点就醒了 今天 我想匹配5 p m 该模式的工作原理 5 p m 但我希望它只匹配整个单词 所以下午 5 点不会匹配 所以我使用了这个模式 b5 p m b 但由于点的原因 这不起作用 解决这个问题最简单的正则表
  • 如何从git暂存区删除文件?

    我对本地存储库中的一些文件进行了更改 然后我做了git add A我认为向暂存区域添加了太多文件 如何删除暂存区中的所有文件 完成后 我将手动执行git add filename 您可以使用以下命令从索引中取消暂存文件 git reset
  • 如何比较android中的字符串大于

    我想知道是否有一种方法可以将android中的字符串与大于或 gt 进行比较 可以说我有这个 String numbers number getText toString if numbers equals 9 output setText
  • Google Oauth 给出代码兑换错误

    您好 我正在开发一个用户通过谷歌帐户登录的项目 本地主机 我已经实现了谷歌注册 当我从我的帐户登录时 我收到以下错误 TokenError Code was already redeemed at Strategy OAuth2Strate
  • 如何将参数传递给导航控制器内的弹出视图控制器

    我有一个带有分割视图的 iPad 应用程序 并且详细视图控制器的导航栏中有一个右栏按钮 该按钮调用由导航控制器和两个表视图组成的弹出窗口 如下图所示 由于故事板在图片上很小 我添加了一些解释 白色控制器是detailViewControll
  • MySQL 更新数组中的特定 JSON 对象

    我正在努力寻找一种方法来更新 MySQL 中 JSON 类型字段中数组中的特定 JSON 对象 假设我有以下对象 SET j cat meow dog woof parrot volume quiet says hello volume l
  • Google折线图(交互式)api - 我们如何在指定区域填充不同的背景颜色

    我需要在指定区域的谷歌折线图中水平填充背景颜色 我已经查看了所有 api 但没有得到解决方案 谷歌图像图表 我认为它已被弃用 有一些属性 但我正在使用交互式图表 我只是附上我真正想要的图像 Please help 您可以通过使用组合图而不是
  • SQLiteException:靠近“引用”:语法错误

    String CREATE ASSIGNMENTS TABLE create table ASSIGNMENTS TITLE text not null DESCRIPTION text not null REFERENCES text n
  • nodejs http模块server.listen(),如果我们不定义端口号,默认端口是多少

    server listen port hostname backlog callback 这些参数都是可选的 所以我只是打电话 server listen 服务器似乎已启动并运行 but http 127 0 0 1 or http 127
  • 如何覆盖视图布局声明

    在 asp net MVC 3 中 有没有办法从控制器或操作过滤器覆盖视图中设置的布局声明 Layout Views Shared Layout cshtml 我尝试过重写 OnResultExecuted 或 OnResultExecut
  • 字符串中的短语搜索,制作正确的正则表达式

    我会直接开始 这就是我所拥有的 var SResults function ActivateSearch s SResults for var key in Products if Products key n search new Reg
  • 点击此 Google 翻译按钮不起作用?

    我正在创建一个 Tampermonkey 用户脚本 它会自动单击 Google 翻译网站上的 星号 按钮并保存我的搜索 以便我以后可以查看它们并进行排练 This is the button that I am targeting 这是我到