casperjs clicklabel
casperjs clicklabel
本文关键字:clicklabel casperjs 更新时间:2023-09-26
CasperJS clicklabel
允许我们单击一种标签和内部文本的DOM元素。
如果内部文本被 2 个或更多级别包装怎么办?会起作用吗?例如:
<a href='xxxxxx'><span>my inner text</span></a>
我已经尝试了以下方法,似乎都不起作用。
clicklabel('my inner text','a')
clicklabel('my inner text','a/span')
clicklabel('my inner text','a span')
this.click('a > span');
这将对"a"标签内的第一个 span 元素执行单击事件。
根据 casperjs 文档,clickLabel 的第二个参数是节点名称,在您的情况下这是"span",它不需要选择器。 您可能希望改用单击并使用 XPath 而不是 css 选择器。
var x = require('casper').selectXPath;
this.click(x('//span[text()="my inner text"]'));
如果您非常确定 href 属性是常量,只需使用类似以下内容的单击:click("a[href='xxxxx']");
否则你可以试试clickLabel('my inner text','span')
如果两者都失败,请检查您是否不在使用框架的页面中,如果是这种情况,请检查 http://casperjs.org/api.html#casper.withFrame 如何处理它。
祝你好运。
您可以直接使用 :
clickLabel('my inner text','span');
如果它不起作用,请尝试在单击后等待 5 秒或更长时间,例如:
this.wait(5000, function() {
this.echo("I've waited for 5 seconds.");
});
等待 5 秒就可以解决问题,因为我也面临同样的问题。
相关文章:
- CasperJS在使用sendKeys时不会上传文件
- 我如何才能让CasperJS和PhantomJS在约塞米蒂玩得很好
- 从node.js向CasperJS传递参数数组
- CasperJS在每个URL中循环
- 当已经使用CasperJS选择了css类元素时,断言该类的存在
- Casperjs等待资源
- CasperJS(phantom 1.9.7),从昨天起就无法连接https
- CasperJS填充表单-输入名称有方括号
- 如何测试选择器是否存在于CasperJS中
- 使用CasperJS测试多个HTML页面
- casperjs对表单使用waittentivisible
- CasperJS-如何治疗'单击'在一个循环中
- casperjs-css选择器存在,但当单击它时会引发“”;CasperError:无法在不存在的选择器“”上调度mou
- 为什么不't CasperJS'sendAJAX函数为PUT请求发送任何内容
- 可以'无法在CasperJS中复制POST请求
- 如何从CasperJS访问iframe
- 将多个变量从php传递到casperjs
- casperjs滚动弹出层
- casperjs未捕获错误:TypeError:试图分配给readOnly属性
- casperjs clicklabel