我正在使用 Python 无头浏览器库 Pyppeteer。它与 Puppeteer (JS) 基本相同。所以在 Puppeteer 上工作的解决方案也应该在这里工作。我需要一个按钮来点击。问题是这个按钮是动态生成的,并且它的 id 每次都会改变:
按钮
<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 个按钮,它们的 ids 开始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>
使这个按钮独一无二的两件事是它的 id 最后一个数字和标题如果你能帮助我如何通过它的标题点击这个按钮,我将不胜感激。
感谢你们!