#javascript #node.js #reactjs #web #puppeteer
Вопрос:
Ниже приведена часть html-кода веб-страницы, которую я очищаю с помощью puppeteer. Идентификаторы начинаются с цифр.
<div class="inner-menu">
<ul class="module" style="float: left">
<li id="0" class="moduleclass"><a class="active" href="/eu/alt/dashboard.htm">Home</a></li>
<li id="4" class="moduleclass"><a class="" href="/eu/stu/studentBasicProfile.htm">Student</a></li>
<li id="6" class="moduleclass"><a class="" href="/eu/exm/viewStudentExamDefinition.htm">Exam</a></li>
<li id="7" class="moduleclass">
<a class="" href="/eu/res/semesterGradeCardListing.htm">Result</a>
</li>
</ul>
</div>
Мне нужно нажать на li с идентификатором 7. Я попытался использовать код
await page.waitForSelector("#\37 ");
await page.click("#\37 ");
Но это не работает.
Комментарии:
1. В чем заключается идея
"#\37 "
? Почему нет"#7"
?
Ответ №1:
Идентификаторы, начинающиеся с цифр, недопустимы, и такие селекторы выдают ошибки. Но вы можете попробовать XPath:
const element = await page.waitForXPath('//*[@id="7"]');
await element.click();