无法用Selenium关闭弹出框

时间:2017-05-31 23:37:19

标签: python selenium

我无法用Selenium关闭弹出框。下面是我编写的代码,它返回一个异常。请参阅下面的代码。

driver = webdriver.Chrome()
driver.get("https://www.google.com/webhp#q=home+depot+san+francisco&lrd=0x808f7c5c63124c7b:0x32c19e9988b2aa90,1,")
driver.find_element_by_xpath('//div[@class="_wzh"]').click()
# selenium.common.exceptions.ElementNotVisibleException: Message: element not visible

谢谢,

3 个答案:

答案 0 :(得分:1)

打开弹出窗口需要一些时间。因此,您需要等待几秒钟,直到弹出窗口打开并关闭按钮变为可见。

用户 Volume Weight F1 F2 1: 0.5367 0.5367 0 1 2: 0.8645 0.8508 0 0 3: 0.8573 0.8585 0 0 4: 1.1457 1.1413 1 0 5: 0.8573 0.8568 1 0 6: 0.5694 0.5633 1 1 7: 1.2368 1.2343 2 0 8: 0.9662 0.9593 2 1 9: 1.4850 1.3412 2 0 10: 1.4850 1.3995 2 0 11: 1.1132 1.1069 3 1 12: 1.4535 1.3923 3 0 13: 1.0437 1.0344 3 1 14: 1.1475 1.1447 4 1 15: 1.1859 1.1748 4 0 16: 1.1859 1.1735 4 0 17: 1.1859 1.1731 4 0 18: 1.1557 1.1552 5 1 19: 1.1749 1.1731 5 0 20: 1.1749 1.1552 5 0 条件,直到元素的可见性如下:

   Volume Weight F1 F2 
 1: 0.5367 0.5367  1  1
 2: 0.8645 0.8508  1  0
 3: 0.8573 0.8585  1  0
 4: 1.1457 1.1413  1  0
 5: 0.8573 0.8568  1  0
 6: 0.5694 0.5633  1  1
 7: 1.2368 1.2343  2  0
 8: 0.9662 0.9593  2  1
 9: 1.4850 1.3412  2  0
10: 1.4850 1.3995  2  0
11: 1.1132 1.1069  2  1
12: 1.4535 1.3923  2  0
13: 1.0437 1.0344  2  1
14: 1.1475 1.1447  3  1
15: 1.1859 1.1748  3  0
16: 1.1859 1.1735  3  0
17: 1.1859 1.1731  3  0
18: 1.1557 1.1552  3  1
19: 1.1749 1.1731  3  0
20: 1.1749 1.1552  3  0

答案 1 :(得分:0)

您应该使用内置支持,而不是尝试单击元素。 以下应该工作。

alert = driver.switch_to_alert()
alert.accept

Docs

答案 2 :(得分:0)

这是因为该元素存在于<iframe>标记上;所以首先你需要切换到iframe,然后与元素交互:

driver.switch_to.frame driver.find_element_by_css(' #gsr > iframe')

然后点击元素:

driver.find_element_by_xpath('//div[@class="_wzh"]').click()