【问题标题】:Handling Modal Dialogs with Selenium in Python在 Python 中使用 Selenium 处理模态对话框
【发布时间】:2016-06-12 05:26:00
【问题描述】:

我正在使用 Selenium 自动化流程,并且每次有人访问它时,我想要与之交互的页面都会打开一个模式对话框。我希望能够与主页正确交互,因此我需要一种关闭对话框的方法。但是,我尝试了一些关于处理模式对话框的建议,但它们并没有按应有的方式工作。我可以点击两个按钮来关闭对话框,其中一个是:

  <div class="modal-footer"> 
    <button type="button" class="btn btn-primary" data-dismiss="modal">Fechar</button> 
  </div>

我试图找到这个按钮,然后点击它:

test = driver.find_element_by_link_text("Fechar")
test.click()

但这并没有关闭对话框。使用:

test = driver.find_element_by_link_text("Fechar")
test.send_keys(Keys.RETURN)

给我以下错误:

no such element: Unable to locate element: {"method":"link text","selector":"Fechar"}.

我还想过编写一个脚本来使用 TAB 键在对话框中导航,然后在到达关闭按钮时按 Enter。但我不知道这是否是处理问题的正确方法,以及是否可以毫无问题地完成。提前致谢。

【问题讨论】:

    标签: python selenium


    【解决方案1】:

    使用 find_element_by_link_text 方法,您不会找到按钮,而是会找到链接元素 (a)。 Reference.

    如果你想获得那个按钮,你可以使用:

    driver.find_element_by_css_selector('.modal-footer > button[data-dismiss="modal"]')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-15
      相关资源
      最近更新 更多