Ошибка: Ошибка: узел либо не виден, либо не является HTMLElement.Html

Программисты Html
Ответить
Anonymous
 Ошибка: Ошибка: узел либо не виден, либо не является HTMLElement.

Сообщение Anonymous »

Мне нужна помощь в поиске HTML-элемента входа в систему freeriderhd.com, потому что в моем коде написано: Ошибка: Ошибка: узел либо не виден, либо не является элементом HTML
По сути, мне нужна помощь в проверке страницу и найти HTML-элемент кнопки входа в систему. Пожалуйста, скопируйте и вставьте элемент вместе со снимком экрана в проверке. Большое вам спасибо.
(Я пытаюсь создать инструмент для редактирования треков для игры)
p>
Когда я набираю команду «node script.js»
КОД НИЖЕ:

Код: Выделить всё

const puppeteer = require('puppeteer');

(async () => {
let browser;
let page;

try {
// Launch the browser
browser = await puppeteer.launch({
headless: true,
args: ['--no-sandbox', '--disable-setuid-sandbox'], // Required for environments like Codespaces
});

// Open a new page
page = await browser.newPage();

// Navigate to the FreeriderHD website
console.log('Navigating to FreeriderHD...');
await page.goto('https://www.freeriderhd.com', { waitUntil: 'networkidle2' });

// Wait for the login button to be visible
console.log('Waiting for the login button...');
await page.waitForSelector('#left-nav-login', { visible: true });

// Wait for any loading overlays to disappear (if applicable)
await page.waitForSelector('.loading-overlay', { hidden: true }).catch(() => {});

// Scroll into view and focus on the button
await page.evaluate(() => {
const loginButton = document.querySelector('#left-nav-login');
if (loginButton) {
loginButton.scrollIntoView();
loginButton.focus();
}
});

// Wait for the button to be fully loaded and clickable
await page.waitForFunction(() => {
const loginButton = document.querySelector('#left-nav-login');
return loginButton && loginButton.offsetParent !== null && !loginButton.disabled; // Check if the button is visible and not disabled
});

// Click the login button with a delay
console.log('Clicking the login button...');
await page.click('#left-nav-login', { delay: 100 });

// Wait for the login form to load
console.log('Waiting for the login form...');
await page.waitForSelector('#login_password', { visible: true });

// Enter the username and password
console.log('Entering credentials...');
await page.type('input[name="username"]', 'username'); // Enter username
await page.type('#login_password', 'password'); // Enter password

// Click the login submit button
console.log('Submitting the login form...');
await page.waitForSelector('.auth-btn[data-action="login_with_email"]', { visible: true });
await page.click('.auth-btn[data-action="login_with_email"]');

// Wait for navigation after login
console.log('Waiting for login process...');
await page.waitForNavigation({ waitUntil: 'networkidle2' });

console.log('Login successful!');
} catch (error) {
console.error('Error:', error);

// Take a screenshot for debugging
if (page) {
await page.screenshot({ path: 'error-debug.png' });
console.log('Screenshot saved as error-debug.png');
}

// Close the browser in case of error
if (browser) {
await browser.close();
}
} finally {
// Ensure the browser is closed in case of success or error
if (browser) {
await browser.close();
}
}
})();
Не получилось, только ошибки.

Подробнее здесь: https://stackoverflow.com/questions/793 ... tmlelement
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»