如何用javascript选择这个元素?

时间:2015-09-14 20:17:18

标签: javascript google-chrome applescript

我正在尝试编写一个在启动时登录到网站的AppleScript应用程序。到目前为止,我可以成功打开Chrome,将网页加载到活动标签页,选择并输入密码,但我无法点击提交按钮。

以下是页面上的元素:

<button type="submit" class="btn  btn--ac" alt="Login" 
   title="Login" tabindex="6"><i aria-hidden="true" 
   class="lush  lush-locked"></i> Login</button>

我在javascript中的技能水平几乎没有,但我找不到成功选择此项并单击它的方法。我已经尝试使用TagName和ClassName,但它不起作用,也许我的语法不正确。有没有ID类型的方法可以做到这一点?

我试过了:

execute front window's active tab javascript 
"document.getElementByClassName('btn, btn--ac').click()"

execute front window's active tab javascript 
"document.getElementByTagName('button').click()"

我应该注意这个脚本在Google Chrome中运行。

感谢您提前提供任何帮助。

2 个答案:

答案 0 :(得分:2)

首先,你使用了错误的功能。它应该是

document.getElementsByClassName

尝试使用:(假设“提交”按钮是类btn的唯一按钮)

document.getElementsByClassName('btn')[0].click();

以下是Mozilla中函数的基本定义:

  

document.getElementsByClassName():
  返回包含所有子元素的所有子元素的类数组对象   给定的类名。

因此,您将获得一个元素列表。因此,您选择其中的第一个元素(使用0作为索引),然后单击它。

答案 1 :(得分:0)

普通js中用于通过类选择元素的正确语法是:

document.getElementsByClassName('btn--ac');

通过这个你将得到一个包含所有元素'btw - ac'的数组。在你的情况下试试这个:

document.getElementsByClassName('btn--ac')[0].click();