【发布时间】:2019-05-21 03:32:47
【问题描述】:
我正在使用 puppeteer 尝试自动化登录到我们网络本地的网页。 Chrome 会抛出正常的“您的连接不是私有的”https 错误。我可以点击“高级”和“继续”进入登录页面,但我想和 Puppeteer 一起玩。
下面是 HTML
<body>
<div>
<div>
<button id="primary-button">Back to safety</button>
<button id="proceed-button" class="secondary-button small-link hidden"></button>
<button id="details-button" class="secondary-button small-link">Advanced</button>
</div>
</div>
</body>
我的尝试是将 .click() 发送到“高级”,然后将 .click() 发送到“继续”。但是都没有回应。
我已经能够使用 Puppeteer 启动 Google 并使用 page.click('.gb_d') 成功选择 Gmail 链接。所以也许我没有正确选择元素。
我的代码如下:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({headless: false, /*args:['--start-fullscreen','--window-size=1920,1040']*/});
const page = await browser.newPage();
await page.goto('https://10.26.200.215:17001/HORIZON', {waitUntil: 'networkidle2'});
await page.setViewport({width: 1920, height: 1080});
await page.waitForSelector('#proceed-button');
await page.click('#proceed-button');
//await browser.close();
})();
【问题讨论】:
-
我很确定你不能用 Puppeteer 点击这些按钮,因为它们不是实际网站的一部分(而是 Chrome 的 UI)。如果您的服务器只能通过
https访问但没有有效的证书,那就是您需要解决的问题。
标签: javascript node.js puppeteer