处理Selenium-Python脚本中显示的弹出窗口异常

时间:2018-12-22 16:53:30

标签: python selenium

我正在编写一个用Py和Selenium编写的脚本,该脚本会滑动一些幻灯片并单击每张幻灯片的按钮,但是有时,单击该按钮时会显示一个弹出窗口,有时该脚本应该定期运行。

>

有人可以向我解释如何处理“例外”以及如何正确编写代码吗?

我确定会使用“尝试和异常”,但我不知道如何识别弹出窗口,因此我尝试的每次尝试都失败了。

  try:
      element = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, “x”)))
      element.click() #Click Slider Button

      element = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, “y”)))
  element.click() #Click arrow to go to next slide

例外,如果显示弹出窗口,则执行此代码

  except driver.find_element_by_class_name(“z”).is_displayed():
      element = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, “f”)))#click to close popup
      element.click() 

      element = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, “y”)))
      element.click() #click arrow to go to next slide

1 个答案:

答案 0 :(得分:0)

尝试使用一些弹出窗口阻止程序扩展。如果您使用的是基于Chrome的导航器,那么此extension会完美地工作,并会阻止所有可能的弹出窗口。

使用此service下载扩展程序,如果您不知道如何使用硒扩展程序,请遵循question

这不完全是您想要的解决方案,但是它可以工作。