Pra*_*aik 1 javascript hover casperjs
如何对悬停在元素上后变为可见的元素执行单击事件.下面是HTML代码
<div class="jqtree-element jqtree_common">
<span class="jqtree-title jqtree_common" contenteditable="true">Notebook 1</span>
<span class="notebook-right">
<span class="notebook-date disappear" style="visibility: visible;">
<span class="notebook-commands-right">
<span class="notebook-commands appear-wrapper">
<span class="notebook-commands appear" style="display: none;">
<span class="fontawesome-button info">
<span class="fontawesome-button history">
<span class="fontawesome-button private">
<span class="fontawesome-button public" style="display: none;">
<span class="fontawesome-button remove">
<i class="icon-remove"></i>
</span>
</span>
</span>
</span>
</div>
Run Code Online (Sandbox Code Playgroud)
删除笔记本我正在使用以下代码
casper.then(function(){
if(this.visible({type:'xpath', path:'/html/body/div[3]/div/div[1]/div[1]/div/div/div[1]/div[2]/div/div/ul/li[1]/ul/li[1]/ul/li[11]/div/span[2]/span[3]/span/span[5]/i'}))
{
this.click({type:'xpath', path:'/html/body/div[3]/div/div[1]/div[1]/div/div/div[1]/div[2]/div/div/ul/li[1]/ul/li[1]/ul/li[11]/div/span[2]/span[3]/span/span[5]/i'});
});
console.log('notebook '+ title +' deleted');
} else {
console.log('element not found');
}
});
Run Code Online (Sandbox Code Playgroud)
在控制台中显示"无法调度mousedown事件.."
CasperJS具有具有该move()功能的鼠标模块.它需要一个坐标或一个选择器.CasperJS将使用底层的PhantomJS sendEvent()函数来创建本机事件.
casper.mouse.move(someCSSSelector);
Run Code Online (Sandbox Code Playgroud)
要么
var x = require('casper').selectXPath;
...
casper.mouse.move(x(someXPathExpression));
Run Code Online (Sandbox Code Playgroud)
如果页面在此之后加载了某些内容,则可能需要在移动鼠标后稍等一会儿:
casper.mouse.move(someCSSSelector);
casper.waitUntilVisible(expectedElementSelector, function(){
this.click(expectedElementSelector);
});
Run Code Online (Sandbox Code Playgroud)
几乎所有函数都可以使用XPath表达式以及CSS选择器.
| 归档时间: |
|
| 查看次数: |
3671 次 |
| 最近记录: |