我正在尝试点击此page底部的链接,并显示“显示更多公司”字样。
到目前为止,我尝试了这两种方法:
$('a:contains("Show more companies")').click();
$('a:contains("Show more companies")').trigger('click');
但是我收到了这个错误:
TypeError: Object <a class="button AjaxPagerLink" href="http://www.trustpilot.co.uk/categories/computer?page=2">
Show more companies </a> has no method 'click' at Request._callback (C:\app.js:42:43)
有什么线索是什么问题?我的命令是否正确?任何建议/帮助都非常感谢。
编辑:尝试了所有这些解决方案。得到同样的错误。
答案 0 :(得分:2)
触发类应该很简单,但你应该验证(似乎是这样)只有一个具有该类名的元素。
$(".AjaxPagerLink").trigger("click");
第二个版本触发该页面上的第一个class =“AjaxPagerLink”元素,只是为了猜测。
$(".AjaxPagerLink")[0].trigger("click");
您也可以尝试[href ^ =“http”] CSS选择器。
$("a[href^='http://www.trustpilot.co.uk/categories/computer?page']").trigger("click");
一般来说:
使用类和ID检索DOM元素是最佳实践(因为它也比解析包含的文本更快)。
<a href='companies.html' id='show_companies'>Show more companies</a>
您应该为元素分配一个ID,然后触发该ID的点击:
$('#show_companies').trigger('click');
只需确保您的ID是唯一的(页面中必须只有show_companies元素)。
答案 1 :(得分:0)
试试这个:
$('a.button.AjaxPagerLink').click();
这比根据文本选择要好。
编辑:如果不是问题,请确保在为该链接注册onClickListener后调用.click()
。
答案 2 :(得分:0)
尝试:
$('a:contains("Show more companies")').click(function(){
var link = $(this).attr('href');
window.location.href = link;
}
答案 3 :(得分:0)
$('a:contains(“显示更多公司”)')[0] .click();
答案 4 :(得分:0)
试试这个:
$('a:contains("Show more companies")')[0].click();
答案 5 :(得分:0)
您也可以使用此...
$(document).ready(function () {
$('a:contains("Show more companies")').click(function () {
alert('I am clicked');
});
});