^^ ОБНОВЛЕНИЕ ^^
Готов заплатить кому-нибудь за то, чтобы он помог мне пройти через это, проблема размещена на codeMentor.io: https://www.codementor.io/u/dashboard/my-requests/9j42b83f0p
I хотел щелкнуть элемент:
<a id="isc_LinkItem_1$20j" href="javascript:void" target="javascript" tabindex="2"
onclick="if(window.isc_LinkItem_1) return isc_LinkItem_1.$30i(event);"
$9a="$9d">Reporting</a>
In: https://stackblitz.com/edit/js-nzhhbk (я не включил текущую страницу, потому что она находится за именем пользователя и проходом)
кажется достаточно простым
----------------------------------------- -----------------------------
раствор1:
page.click('[id=isc_LinkItem_1$20j]') //not a valid selector
решение2:
const linkHandlers = await frame.$x("//a[contains(text(), 'Reporting')]");
if (linkHandlers.length > 0) {
await linkHandlers[0].click();
} else {
throw new Error('Link not found');
} //link not found
------------------------------------- ---------------------------------
Я просмотрел все способы выберите и щелкните по нему, и он говорит, что его нет в документе, хотя он явно есть (проверено путем проверки html в chrome инструментов разработчика и вызова: page.evaluate(() => document.body.innerHTML)
)
** попытался посмотреть, был ли он в iframe
** пытался выбрать по идентификатору
** пытался выбрать по внутреннему тексту
** пытался консоль регистрировать тело в браузере (ведение журнала не работает, проверено на я nspect _element) //nothing happens
** попытался создать предупреждение с основным текстом, используя:
_ evaluate(() => alert(document)) // nothing happens
** попытался создать предупреждение, чтобы проверить, можно ли ввести javascript автор:
_ evaluate(() => alert('works')) // nothing happens
** также пробовал это: Как выбрать элементы внутри элемента iframe в Puppeteer // doesn't work
Вот код, который я создал пока
const page = await browser.newPage();
const login1url =
'https://np3.nextiva.com/NextOSPortal/ncp/landing/landing-platform';
await page.goto(login1url);
await page.waitFor(1000);
await page.type('[name=loginUserName', 'itsaSecretLol');
await page.type('[name=loginPassword]', 'nopeHaha');
await page.click('[type=submit]');
await page.waitForNavigation();
const login3url = 'https://np3.nextiva.com/NextOSPortal/ncp/admin/dashboard';
await page.goto(login3url);
await page.click('[id=hdr_users]');
await page.goto('https://np3.nextiva.com/NextOSPortal/ncp/user/manageUsers');
await page.goto('https://np3.nextiva.com/NextOSPortal/ncp/user/garrettmrg');
await page.waitFor(2000);
await page.click('[id=loginAsUser]');
await page.waitFor(2000);
await page.click('[id=react-select-5--value');
await page.waitFor(1000);
await page.click('[id=react-select-5--option-0]');
await page.waitFor(20000);
const elementHandle = await page.$('iframe[id=callcenter]');
const frame = await elementHandle.contentFrame();
const linkHandlers = await frame.$x("//a[contains(text(), 'Reporting')]");
if (linkHandlers.length > 0) {
await linkHandlers[0].click();
} else {
throw new Error('Link not found');
}