尝试通过casperjs点击下面的元素,但它对我不起作用。
<img alt="Pay Button" class="v-button" role="button" src="https://test/wallet-services-web/xo/button.png" tabindex="0" style="cursor: pointer; transition-property: filter; transition-duration: 0.25s; filter: brightness(1);">
我通过一堆嵌套的iframe搜索这个元素,我可以正确找到它 - 但我似乎无法正确点击它。
if (casper.exists('img.v-button')) {
console.log("Found button"); // the exists works - this is logged
casper.click('img.v-button'); // Approach 1: nothing happens
// Approach 2: nothing happens
// var x = require('casper').selectXPath;
// casper.click(x('(//img[@class="v-button"])'));
return true;
} else {
var result = traverseTreeDown();
if (result) {
return true;
} else {
casper.page.switchToParentFrame();
}
}
方法1和方法2都不起作用 - 即使我确实正确地进入“存在”块。
答案 0 :(得分:0)
您应该尝试casperjs documentation上建议的方法:
casper.then(function() {
casper.click('img.v-button');
});
casper.then(function() {
// do next action
});
答案 1 :(得分:0)
我建议您查看API documentation。
例如,请检查一下:您可以等待特定的选择器出现。
casper.start('https://yourmom.gov');
casper.waitForSelector('img.v-button', function() {
this.click('img.v-button');
});
casper.run();
或者有另一种方式 - 我认为更好
casper.start('http://yourmom.gov/').thenClick('img.v-button', function() {
this.echo("clicktastic.");
});
casper.run();