javascript - puppeteer 中的条件语句取决于 html 元素的可见性
问题描述
因此,我正在尝试使用 puppeteer 创建一个脚本,该脚本将自动在网站上创建一个帐户。一个问题导致我的代码有 50% 的时间不成功。在网站上单击“注册”后,它会显示一个包含该过程第一步的 div。它始终与电子邮件地址的输入字段相同。当我单击“下一步”并移至该过程的后续部分时,就会出现问题。该网站似乎通过随机选择以下两个选项之一来呈现下一步:或者另一个 div 出现在它要求您选择爱好的地方,或者一个 div 要求您创建用户名。因为我的代码不检查哪个 div 可见,所以它会在输入电子邮件地址并单击下一步后立即尝试输入用户名。所以我的代码只有 50% 的时间有效。我对 JavaScript 或 Puppeteer 的了解不足以创建一个条件语句,该语句将检查可见的 div 并采取相应的行动。到目前为止,我尝试了这个只是为了看看 waitForSelector 会做什么
var usernameVisible = await reddit.page.waitForSelector('div[class="desktop-onboarding-step desktop-onboarding-step_username c-username-picker-shown"]', {visible:true, timeout: 1000});
console.log(usernameaVisible);
如果程序在一秒钟后没有检测到元素,则程序退出,或者返回一个我不知道如何解释的巨大数组。我想如果 if 语句返回 true 或 false 的布尔值,它会起作用,但我不知道我该怎么做。
解决方案
推荐阅读
- javascript - 从角度 2 调用小程序方法
- asp.net - 从 ashx 重定向到 aspx 后,会话变量丢失
- python - 为分组数据生成具有特定长度的 RNN 序列/批次
- regex - Jenkins UI Textfinder如何设置多个正则表达式
- android - 发送有序广播时 FLAG_RECEIVER_FOREGROUND 究竟做了什么?
- mesos - mesos/dcos:暴露一个服务端点
- javascript - 如何使用 React Native 脚本在后台接收 Firebase 通知
- java - 在 Java 程序中使用 Linux Strace 命令
- php - Laravel Socialite - 谷歌登录失败“缺少必需的参数:代码”
- android - 当我尝试在选项卡之间切换时应用程序崩溃