如果页面上有特定元素,请通过Javascript用户脚本单击另一个元素?

时间:2019-05-17 04:48:54

标签: javascript html jquery-selectors tampermonkey userscripts

我正在尝试找出一种方法来自动单击网页上具有特定类别的按钮,但前提是该页面上存在另一个具有特定类别的元素。

我的想象方式是:1)加载页面2)脚本检查特定元素(通过类)3)如果元素/类存在,则单击另一个指定的元素。

这样做,我想我将通过使用HTML页面中给定元素的类来使用HTML DOM querySelector()方法。

因此,如果页面上存在以下类:

<span class="dashboardIcon dashboardIconFeatured">

我想单击此类的元素:

<a class="surveyClicked markClicked">

这是我到目前为止的代码:

document.querySelector(".dashboardIcon.dashboardIconFeatured");
document.querySelectorAll(".surveyClick.markClicked")[0].click();

这两行代码在控制台中各自独立工作。我遇到的麻烦是将所有内容放在一起,并确保只有在满足第一个条件的情况下,第二行代码才能运行-类dashboardIcondashboardIconFeatured存在。这似乎很容易解决,但是我缺乏JavaScript经验和对语法的熟悉程度令我感到震惊。

任何人和所有帮助将不胜感激!干杯。

1 个答案:

答案 0 :(得分:1)

尝试这样

var isMobileVersion = document.getElementsByClassName('dashboardIcon dashboardIconFeatured');
if (isMobileVersion.length > 0) {
      console.log("element exists");
      document.getElementsByClassName("surveyClicked markClicked")[0].click();

}

function func(){
  console.log("clicked");
}
<span class="dashboardIcon dashboardIconFeatured">

<a class="surveyClicked markClicked" onclick="func()">