如何检查网页弹出窗口?

1 python firefox webpage mechanize popup

有没有一种可能,如果我在编写Python中的程序,可以自动浏览特定网站使用机械化如果有弹出窗口(暗示广告或下载行为...)使用Python来检测?.我会很感激任何提示(例如,如果你给我一个完成这项任务的图书馆,我会非常高兴)

ale*_*cxe 5

Mechanize无法处理javascript和弹出窗口:

要实现这一目标,您需要使用真正的浏览器,无论是否无头.这是有selenium帮助的地方.它具有对弹出对话框内置支持:

Selenium WebDriver内置支持处理弹出对话框.在您触发并执行打开弹出窗口的操作后,您可以使用以下命令访问警报:

alert = driver.switch_to_alert()

示例(使用此jsfiddle):

from selenium import webdriver

url = "http://fiddle.jshell.net/ebkXh/show/"
driver = webdriver.Firefox()
driver.get(url)

button = driver.find_element_by_xpath('//button[@type="submit"]')

# dismiss
button.click()
driver.switch_to.alert.dismiss()

# accept
button.click()
driver.switch_to.alert.accept()
Run Code Online (Sandbox Code Playgroud)

也可以看看:

  • @begueradj你已经做了很多其他人不会做的事情,你表现出了你的顾虑 - 这对我来说真的够了,我很感激.你是一个很好的提问者,你应该获得积分.此外,它不是关于我的要点,而是关于帮助人们和解决有趣的问题; 积分和徽章只是奖金.谢谢你,不要担心赏金. (3认同)