python - 使用 selenium 不断检查是否有新电子邮件到达
问题描述
我想监控我的雅虎邮件并检查是否有新邮件到达我的收件箱。为此,我必须刷新页面(比如每 60 秒)并检查是否有新电子邮件。我想不出比这更好的了:
try:
search = WebDriverWait(driver, 604800).until(EC.presence_of_element_located((By.CSS_SELECTOR, f'#mail-app-component > div > div > div.D_F.ab_FT.em_N.ek_BB.iz_A.H_6D6F > div > div > div.W_6D6F.H_6D6F.cZ1RN91d_n.o_h.p_R.em_N.D_F > div > div.p_R.Z_0.iy_h.iz_A.W_6D6F.H_6D6F.k_w.em_N.c22hqzz_GN > ul > li:nth-child({4}) > a')))
while True:
driver.refresh()
except:
print('no')
driver.quit()
我将搜索变量放入尝试中,以检测我的收件箱中是否有新电子邮件(雅虎上的 css 网络元素相同。它们仅相差一个数字,表示我收到的第 (n-1) 封电子邮件)和我希望页面每 60 秒刷新一次并再次检查新电子邮件。我怎样才能做到这一点?
解决方案
事实证明这并不难。
while True:
n = 4
try:
search = WebDriverWait(driver, 60).until(EC.presence_of_element_located((By.CSS_SELECTOR, f'#mail-app-component > div > div > div.D_F.ab_FT.em_N.ek_BB.iz_A.H_6D6F > div > div > div.W_6D6F.H_6D6F.cZ1RN91d_n.o_h.p_R.em_N.D_F > div > div.p_R.Z_0.iy_h.iz_A.W_6D6F.H_6D6F.k_w.em_N.c22hqzz_GN > ul > li:nth-child({n}) > a')))
n+=1
except:
driver.refresh()
推荐阅读
- python - 使用 GPU 尝试 LightGBM 时出现错误:LightGBMError: No OpenCL device found
- jhipster - 使用 jhipster 生成基本应用程序失败:“TypeError:无法读取未定义的属性 'addQmark'”
- javascript - 使用“选择文件”输入来更改 div backgroundImage
- jtextarea - 将 jtextarea 镜像到 jtextpane
- excel - VBA - 字典搜索 - 类型不匹配
- dita - dita 中的外部参照有什么用?
- c - 访问以空字符结尾的字符
- javascript - 倒计时时区差异 (LDN - NY)
- javascript - 自动浏览器历史刷新
- c# - 如何使用 ASP>NET C# 中的参数将 c# 值传递给 Html Page