当前位置: 首页 > 知识库问答 >
问题:

使用Selenium和Python时无法关闭对话框

安经纶
2023-03-14

我使用Selenium在弹出消息窗口时收集数据,该窗口只是一个手册,所以我想将其关闭。我尝试了很多方法,比如:按id查找元素xpath,。。。或者根本不起作用。下面是该网站的html截图。

我感谢你的指导。

在此处输入图像描述

共有1个答案

郜俊晤
2023-03-14

根据屏幕截图,span标记具有class关闭btn。我猜点击元素将关闭弹出窗口。在下面的行中尝试一次。还应用了显式等待,以防加载弹出窗口需要时间。

#imports required:
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

wait = WebDriverWait(driver,30)
#Trial 1:
#driver.find_element_by_xpath("//div[@class='modal=dialog']//span[conatins(@class,'close-btn')]").click()
wait.until(EC.element_to_be_clickable((By.XPATH,"//div[@class='modal=dialog']//span[conatins(@class,'close-btn')]"))).click()
# Can also use `ends-with` instead of `contains` in the xpath.

#Trial -2
#driver.find_element_by_xpath("//div[@role='dialog']//span(contains(@class,'close-btn'))").click()
wait.until(EC.element_to_be_clickable((By.XPATH,"//div[@role='dialog']//span(contains(@class,'close-btn'))"))).click()

 类似资料:
  • 我有一个JFrame调用一个新的JDialog,这个JDialog有一个关闭它的按钮。 当JDialog关闭时,JFrame应该重新绘制。但是当我用按钮关闭JDialog时,什么也不会发生,当我用经典的“X”按钮关闭时,就不会发生这种情况。 这是来自JFrame的windowListener: 这里是JDialog中关闭JDialog的按钮的代码: 就像我说的,监听器中的JFrame需要在JDia

  • JSF2.2;PrimeFaces 5.3 我的目标是通过单击X按钮捕获用户关闭对话框,返回到父页面,以便刷新数据并更新表单。 我能够让p:remoteCommand调用DialogBean中的confirmAndCloseDialog()方法,但从未调用ParentBean中的onDialogReturn()方法。为什么不调用onDialogReturn?我能让它工作吗? 顺便说一句,如果用户以

  • 我想在我的编码中添加对话框。对话框可以弹出。假设用户按下ok按钮后对话框将关闭,但对话框将自动关闭。这是我的密码。有什么问题吗?

  • 我有一个JFrame,如果我按右上角的close按钮,我会调用JDialog并询问用户是否真的想要关闭。 这是主JFrame中close按钮上的ActionListener:

  • 我试图创建一个类,该类将有一个接一个地测试超文本传输协议代理的方法,直到我有一个工作的代理,我可以添加到一个selenium网络驱动程序实例中。 我有一个原始输入来验证代理是否在webdriver中工作,如果它不工作,它应该测试另一个代理并请求我确认,然后关闭驱动程序或保持打开状态。(我删除了使用测试方法的if语句,因为我得到了一个错误) 当我在终端中输入“n”时,当我被要求确认时,它会关闭浏览器

  • 本文向大家介绍sharepoint 对话框关闭时执行操作,包括了sharepoint 对话框关闭时执行操作的使用技巧和注意事项,需要的朋友参考一下 示例