Спасибо @Vaviloff Это работает для этого и подобных сайтов. Вы действительно помогли мне. Некоторые сайты не имеют атрибутов данных, которые позволяют мне создавать аналогичные результаты, но по крайней мере я на полпути с этим решением. Еще раз, действительно ценю вклад.
ользую jQuery, чтобы получить список элементов, которые содержат определенные ключевые слова. Я могу получить список элементов, но я не знаю, как пройтись по каждому элементу, щелкнуть его дочерний элемент и загрузить только что загруженную страницу. Вот код casperjs, который у меня есть:
var casper = require('casper').create({
clientScripts: ["/var/www/html/project/public/js/jquery-3.3.1.min.js"]
});
var fs = require('fs');
casper.start('https://m.1xbet.co.ke/en/line/Football/', function () {
var links = casper.evaluate(function () {
$.expr[":"].contains = $.expr.createPseudo(function (arg) {
return function (elem) {
return $(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0;
};
});
return $("#events-betting").find("li.events__item_head:contains(World cup)");
});
var date = new Date(), year = date.getFullYear(), month = date.getMonth() + 1, day = date.getDate();
var folderName = year + '-' + month + '-' + day;
// loop would go here to save each file
var path = "destination/" + folderName + "/1xbet/worldcup-1";
fs.write(path + ".html", this.getHTML(), "w");
});
casper.run();
Я хотел бы нажать на отдельные элементы в объекте ссылок - они не являются якорными тегами, а скорее являются активируемыми элементами div со встроенным JavaScript, прослушивающим щелчок.
Цель состоит в том, чтобы щелкнуть по элементу div, в котором есть определенный текст, который меня интересует, а затем, щелкнув по нему, я могу либо выбрать очистить HTML и сохранить его в файле, либо получить текущий URL; либо будет хорошо для моих целей. Поскольку может быть несколько элементов div с нужным текстом, я хотел бы найти способ просмотреть каждый из них и выполнить одну и ту же операцию.
Это пример интересующей меня страницы:
https://m.1xbet.co.ke/en/line/Football/
В этом случае родительский элемент: # events-betting и nested представляет собой список тегов li с интерактивными элементами div.