Я использую Python безголовую библиотеку браузера Pyppeteer. Это в основном так же, как Puppeteer (JS). Поэтому решения, которые работают на Puppeteer, должны работать и здесь. Мне нужна кнопка для нажатия. Проблема в том, что эта кнопка генерируется динамически, и ее идентификатор меняется каждый раз:
Кнопка
<button type="submit" class="btn btn-secondary" id="single_button5ea4a114318a96" title="">Upgrade Moodle database now</button>
Код
async def configure(self):
browser = await launch()
page = await browser.newPage()
await page.goto('mysite.example')
await asyncio.gather(
page.waitForSelector('button[title="Upgrade Moodle database now"]', timeout=60000),
page.click('button[title="Upgrade Moodle database now"]')
)
Я мог найти эту кнопку из этой части ее имя, которое не изменяется single_button
, но есть еще 3 кнопки, которые начинаются с single_button
Другие кнопки на странице:
<button type="submit" class="btn btn-secondary" id="single_button5ea4a114318a95" title="">Cancel new installations (2)</button>
<button type="submit" class="btn btn-secondary" id="single_button5ea4a114318a93" title="">Cancel this installation</button>
<button type="submit" class="btn btn-secondary" id="single_button5ea4a114318a94" title="">Cancel this installation</button>
Две вещи, которые делают Эта кнопка уникальна по своему последнему номеру и названию. Было бы полезно, если бы вы помогли мне нажать эту кнопку по названию.
Спасибо, ребята!