Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将CasperJS findOne函数与两个或多个选择器一起使用?_Javascript_Css Selectors_Casperjs - Fatal编程技术网

Javascript 如何将CasperJS findOne函数与两个或多个选择器一起使用?

Javascript 如何将CasperJS findOne函数与两个或多个选择器一起使用?,javascript,css-selectors,casperjs,Javascript,Css Selectors,Casperjs,对不起。。 此算术更新 元素被认为是一个,但找到了两个或多个。。对不起……) 它不应该运行此代码 当前选择数据为aaaa.html 我想知道如何选择最后一个元素。替换此元素: findOne('div[class="rd_ft"] div[id="prev_next"] a[id="rd_prev"]') 为此: findOne('div[class="rd_ft"], div[id="prev_next"], a[id="rd_prev"]') 第一个版本将搜索如下所示的元素: <d

对不起。。 此算术更新

元素被认为是一个,但找到了两个或多个。。对不起……)

它不应该运行此代码

当前选择数据为aaaa.html

我想知道如何选择最后一个元素。

替换此元素:

findOne('div[class="rd_ft"] div[id="prev_next"] a[id="rd_prev"]')
为此:

findOne('div[class="rd_ft"], div[id="prev_next"], a[id="rd_prev"]')
第一个版本将搜索如下所示的元素:

<div class="rd_ft">
    <div id="prev_next">
        <a id="rd_prev"></a>   <--- it will select this element only
    </div>
</div>

我不确定casperjs是什么,但findONE的目的不是要找到一个,而不是两个或更多?此外,要选择多个元素,可以用逗号而不是空格分隔它们。空格将下一个元素作为前一个元素的子元素进行搜索。现在,这是无效的HTML。一个id应该在DOM中只使用一次。你真的确定DOM就是这个样子吗?是的。有些网站想写一篇帖子,然后复制粘贴文本内容。有办法解决吗?@ArtjomB。我同意,但我不确定casperjs的选择器支持,这就是为什么我在没有任何额外调整的情况下对op的问题给出了一个简单的答案。此外,我看不到他会首先在div元素中放置href属性的场景……通常它(PhantomJS)支持所有CSS3选择器,但有些东西有缺陷,比如
nth child
之类的东西,因此在这些情况下使用XPath是很好的。我明白了。在这种情况下,我坚信op的语言障碍会导致他错误地表达他的问题。我会更新我的答案。
findOne('div[class="rd_ft"], div[id="prev_next"], a[id="rd_prev"]')
<div class="rd_ft">
    <div id="prev_next">
        <a id="rd_prev"></a>   <--- it will select this element only
    </div>
</div>
<div class="rd_ft"></div>
<div id="prev_next"></div>
<a id="rd_prev"></a> 
findOne('div.rd_ft div[id="prev_next"] a[id="rd_prev"]')