selenium webdrive命令仅在找到弹出元素时执行

时间:2019-04-25 03:07:52

标签: selenium selenium-webdriver selenium-chromedriver

将项目添加到购物车后,可能会出现一个弹出窗口。
出现后如何关闭?
下面的代码在弹出窗口出现时起作用,然后单击按钮将其关闭。
但是当它不出现时,该命令在selenium webdriver上执行,等待元素,然后失败。
我希望仅在找到元素时才执行此命令。
我正在使用记录器UI,但通过使用代码却发现了一些建议,但是我不知道如何将它们作为命令更改并粘贴到记录器UI。

    driver.find_element_by_xpath("//*[@id=\"attach-close_sideSheet-link\"]").click()

1 个答案:

答案 0 :(得分:-1)

您可以使用try / catch,以便仅在找到该元素时将其关闭:

try:
    elem = webdriver.find_element_by_xpath(xpath)
    elem.click()
except NoSuchElementException:

...

或者,您可以使用Anwendo工具[1]记录测试,这里有“始终关闭弹出窗口”按钮,您可以选择弹出窗口在出现时始终关闭。免责声明:我是Anwendo的开发人员

[1] https://chrome.google.com/webstore/detail/anwendo-tests-selenium-id/demcpjgmmahioppkfbdlmahnphfocnch