Автоматизация нажатия кнопки JavaScript - PullRequest
1 голос
/ 11 апреля 2011

Итак, у меня есть кнопка с кодом, подобным этому:

<div style="text-indent: 0pt; visibility: inherit;" id="button5061">
    <a title="Continue" href="javascript:if(%20button5061.hasOnUp%20)%20button5061.onUp()" name="button5061anc">
        <img width="82" height="25" border="0" style="cursor: pointer;" alt="Continue" src="images/continueoff.gif" name="button5061Img">
    </a>
</div>

И мне нужно щелкнуть по нему с помощью JavaScript.Прямо сейчас я использую расширение Firefox Chickenfoot, которое позволяет мне создавать сценарии для сайта с помощью интерпретатора JavaScript с помощью некоторых пользовательских команд.

http://groups.csail.mit.edu/uid/chickenfoot/api.html

Я пытался выбрать его с помощью xPath (// div / a [@ title = 'Continue'] / ..), который находит его, но когда я нажимаю ()ничего не происходитВот некоторые из вещей, которые я попробовал:

click(find(new XPath("//img[@alt='Continue']/..")))
click(find(new XPath("//img[@alt='Continue']/../..")))
click("continue")
click("Continue")
click("images/continueoff.gif")
click("continueoff.gif")
click(find("Continue"))
click(find("Continue").element)
click(find("images/continueoff.gif"))

Я знаю, что это довольно специфический вопрос, но любые идеи о том, что попробовать, будут высоко оценены.

Ответы [ 3 ]

3 голосов
/ 11 апреля 2011

Если вы пытаетесь смоделировать пользователя, нажимающего на него:

Вы можете смоделировать щелчок следующим образом: document.getElementById('theSubmitButton').click();

Вот пример для вас: http://jsfiddle.net/gasWZ/1/

Если это не то, что вы пытаетесь сделать, не могли бы вы объяснить немного больше?

2 голосов
/ 03 марта 2018

HTML:

<div>
    <a href="#" onclick="alert('ok')">
        <img src="">
    </a>
</div>

JavaScript:

var xPathRes = document.evaluate ('//div[1]/a[1]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
xPathRes.singleNodeValue.click();

jsfiddle:

https://jsfiddle.net/7fm89aqd/

2 голосов
/ 21 августа 2012

Не будет ли эффективным передать объект привязки в вашу функцию и оценить атрибут name?

  1. установить атрибут href равным #
  2. , вызвать функцию и передатьobj

<div style="text-indent: 0pt; visibility: inherit;" id="button____"> <a title="Continue" href="#" name="button____anc"> <img width="82" height="25" border="0" style="cursor: pointer;" alt="Continue" src="images/continueoff.gif" name="button____Img"> </a> </div>
...