Javascript 如何单击没有id的链接

Javascript 如何单击没有id的链接,javascript,casperjs,Javascript,Casperjs,我对javascript没有经验。我正在尝试用CasperJS编写一个函数,它使用javascript 我正在尝试单击搜索结果页上的链接。以下适用于问题中显示的html结构(如果您将div的id从some\u id更改为result\u 0): 演示(打开浏览器的JS控制台): 也许您的代码在方括号中有错误的索引 或者,您可以单击该id元素中第一个h3中的第一个链接: document.querySelector('#result_0 h3 a').click(); 或者,如果您担心可能没有匹

我对javascript没有经验。我正在尝试用CasperJS编写一个函数,它使用javascript


我正在尝试单击搜索结果页上的链接。以下

适用于问题中显示的html结构(如果您将div的id从
some\u id
更改为
result\u 0
):

演示(打开浏览器的JS控制台):

也许您的代码在方括号中有错误的索引

或者,您可以单击该id元素中第一个h3中的第一个链接:

document.querySelector('#result_0 h3 a').click();
或者,如果您担心可能没有匹配的元素:

var el = document.querySelector('#result_0 h3 a');
if (el)
   el.click();
// optionally add an else here

请注意,无论哪种方式,代码都需要位于出现在相关元素之后的脚本块和/或DOM就绪或窗口onload事件处理程序中(上面的JSFIDLE演示通过左侧的FIDLE选项将代码放入onload处理程序中)。

以下内容适用于问题中显示的html结构(如果将div的id从
some\u id
更改为
result\u 0
):

演示(打开浏览器的JS控制台):

也许您的代码在方括号中有错误的索引

或者,您可以单击该id元素中第一个h3中的第一个链接:

document.querySelector('#result_0 h3 a').click();
或者,如果您担心可能没有匹配的元素:

var el = document.querySelector('#result_0 h3 a');
if (el)
   el.click();
// optionally add an else here

请注意,无论哪种方式,代码都需要位于出现在相关元素之后的脚本块和/或DOM就绪或窗口onload事件处理程序中(上面的JSFIDLE演示通过左侧的FIDLE选项将代码放入onload处理程序中)。

您可以使用持有
的div的ID:


您可以使用保存
的div的ID:


您需要一个CSS选择器和此处的方法。类似这样的方法应该可以工作:

casper.thenClick('#result_0 h3:first-child a');

您需要一个CSS选择器和此处的方法。类似这样的方法应该可以工作:

casper.thenClick('#result_0 h3:first-child a');

那一行不起作用,但这一行起作用了:
casper。然后单击(“#result_0 h3 a”)
那一行不起作用,但这一行起作用了:
casper。然后单击(“#result_0 h3 a”);
casper.thenClick('#result_0 h3:first-child a');