Я пишу приложение в node.js, которое будет переходить на веб-сайт, нажимать кнопку на веб-сайте и затем извлекать определенные фрагменты данных с веб-сайта.Все идет хорошо, за исключением нажатия кнопки.Я не могу имитировать нажатие кнопки.Я чрезвычайно новичок в этом, поэтому я буду признателен за любые предложения, которые у вас есть!К сожалению, я искал в интернете решение этой проблемы и не смог найти его.
Я использовал .click()
и .bind('click, ...)
в файле .js, который использует 'request' и 'cheerio '.
Я также пытался использовать page.click()
и page.evaluate()
в другом файле .js, который использует' chrome-launcher ',' chrome-remote-interface 'и' puppeteer '.
Вот мой код для файла 'request' и 'cheerio':
const request = require('request');
const cheerio = require('cheerio');
let p1 = {}, p2 = {}, p3 = {}, p4 = {}, p5 = {};
p1.name = 'TheJackal666';
p2.name = 'Naether Raviel';
p3.name = 'qman37';
p4.name = 'ranger51';
p5.name = 'fernanda12x';
const team = {1: p1, 2: p2, 3: p3, 4: p4, 5: p5};
for(var x in team){
let url = 'https://na.op.gg/summoner/userName=' +
team[x].name;
request(url, (error, response, html) => {
if (!error && response.statusCode == 200) {
const $ = cheerio.load(html);
$('.SummonerRefreshButton.Button.SemiRound.Blue').click();
//FIXME: MAKE A FUNCTION THAT SUCCESSFULLY "CLICKS" UPDATE BUTTON
team[x].overallWR = $('.winratio');
team[x].overallWR =
team[x].overallWR.text().match(/\d/g);
team[x].overallWR =
team[x].overallWR.join("");
console.log(team[x].overallWR);
}
});
}
Я ожидаю успешного нажатия кнопки обновления на любой из страниц (на этой странице есть раздел, которыйговорит, когда это было последнее обновление) без получения ошибки.На самом деле, я либо получаю сообщение об ошибке:
"$(...).click is not a function"
или (если я включаю эту строку во внешнюю функцию), я не получаю ошибки, но не получаю результата.
Спасибо всемтак много для любой помощи, которую вы можете предоставить!<3 <3 <3 </p>