Я пытаюсь получить последнюю страницу результатов от Factiva .Я надеюсь автоматически нажать кнопку Next 100
.
Изображение, чтобы предоставить дополнительную информацию: изображение
Я уже пробовал скрипт AutoClicker
.Он работает для кнопки modify search
, но не может нажать Next 100
.
Ошибка отображается как:
Автокликер не находит объект щелчка!
Мне было интересно, использовал ли Xpath , который я использовалнеправильно.
элемент :
<a class="nextItem" href="javascript:void(0)"
onclick="viewNext('241');return false">Next 100 </a>
селектор :
#headlineHeader33 > table > tbody > tr > td > a.nextItem
Xpath:
//*[@id="headlineHeader33"]/table/tbody/tr/td/a[2]
Вот код, который я использовал:
(function() {
'use strict';
var cyce = 1000;
var str_xpath = '//*[@id="headlineHeader33"]/table/tbody/tr/td/a[2]';
// another way,e.g: var str_qs = "div .search span a";
var str_qs = "";
function getTargetById(t_id){
var target = document.getElementById(t_id);
return target;
}
function getTargetByTAV(t_tag,t_attr,t_value){
var target = document.getElementsByTagName(t_tag);
for(var i=0;i <target.length;i++){
if(target[i].getAttribute(t_attr) == t_value){
return target[i];
}
}
}
function getTargetByXpath(str_xpath) {
var xresult = document.evaluate(str_xpath, document, null, XPathResult.ANY_TYPE, null);
var xnodes = [];
var xres;
while (xres = xresult.iterateNext()) {
xnodes.push(xres);
}
return xnodes;
}
function getTargetByQS(str_qs){
var target = document.querySelector(str_qs);
return target;
}
function trim(str){
str = str.replace(/(^\s*)|(\s*$)/g, "");
return str;
}
var btn;
if(isCustiom === true){
btn = getTargetByCustom();
}
if(trim(id) !== "" && (btn === null | typeof(btn) !== 'object')){
btn = getTargetById(id);
}
if(trim(tag) !== "" && trim(attr) !== "" && value !== "" && (btn === null | typeof(btn) !== 'object')){
btn = getTargetByTAV(tag,attr,value);
}
if(trim(str_xpath) !== "" && (btn === null | typeof(btn) !== 'object')){
btn = getTargetByXpath(str_xpath)[0];
}
if(trim(str_qs) !== "" && (btn === null | typeof(btn) !== 'object')){
btn = getTargetByQS(str_qs);
}
setInterval(function() {
if (btn !== null && typeof(btn) === 'object') {
console.info("[+] AutoClicker click object: " + btn.innerHTML);
btn.click();
}else{
console.warn('[-] Autoclicker does not find the click object!');
}
},cyce);
})();