我正在尝试使用selenium-python来抓取网站。我正在尝试使用firefox驱动程序(因为PhantomJS对我不起作用),但有没有办法在使用firefox驱动程序时阻止弹出窗口?
谢谢
答案 0 :(得分:4)
即使我打开"禁用弹出窗口"在FireFox手动,它不适用于所有网站。解决方法是切换到弹出窗口,关闭它,然后切换回原始窗口。
这是python中的代码:
# Switch to new window opened
driver.switch_to.window(driver.window_handles[-1])
# Close the new window
driver.close()
# Switch back to original browser (first window)
driver.switch_to.window(driver.window_handles[0])
答案 1 :(得分:1)
答案 2 :(得分:0)
很抱歉,答案很晚,但是您可以使用dom.popup_maximum
个人资料偏好设置,将其设置为0
,如下所示:
from selenium import webdriver
fp = webdriver.FirefoxProfile()
fp.set_preference("dom.popup_maximum", 0)
driver = webdriver.Firefox(firefox_profile=fp)
url = "http://some.url.with.annoying.popups"
driver.get(url)
有关其他可用选项的列表,请参阅此answer