Нажатие определенной кнопки CasperJS не работает
Я использую следующий код в длинном скрипте много раз:
this.click("<selector>");
Но есть одна страница, которая не работает, и я не понимаю, почему.
HTML-код:
<div class="bottom-row">
<div class="actions-primary">
<button class="add-subscription button middle" id="2">Choose</button>
</div>
</div>
Поэтому я использую:
casper.waitUntilVisible('#products_screen',
function success() {
casper.test.pass('Product List Show');
this.echo(this.getHTML('.actions-primary'));
//this.click("button#2.add-subscription.button.middle");
this.click("#2");
},
function fail() {
casper.test.fail('List of Products not showing');
},
50000);
Я перепробовал все возможные селекторы без удачи.
Кроме того, если я пытаюсь использовать Resurrectio в Chrome, он не записывает щелчок.
Любой обходной путь приветствуется.
ОБНОВЛЕНИЕ РЕШЕНИЯ:
this.click('[id="2"]');
2 ответа
Я решаю это с помощью формата селектора CSS:
this.click('[id="2"]');
Если id
это число, вы должны либо экранировать число на основе кодовой точки Unicode, либо использовать селектор атрибута.
Оба следующих решения будут работать:
this.click( '#\\32 ' ); // Escaped based on Unicode code point
this.click( '[id="2"]' ); // Attribute selector