python + selenium驱动 Chrome 浏览器,browsermobproxy记录har文件

browsermobproxy是一个java编写的代理服务器,在自动测试中如果需要Chrome 浏览器network中的加载记录,就需要用

browsermobproxy开启一个代理服务器,设置谷歌浏览器的代理服务器ip,端口号,浏览器实际请求代理服务器,因此可以得到请求记录。

下载地址:https://github.com/webmetrics/browsermob-proxy/downloads

#参考https://stackoverflow.com/questions/29164472/issue-in-har-file-python-selenium-browsermob
#参考https://blog.csdn.net/jzf2050/article/details/42030345
from selenium import webdriver    
from selenium.webdriver.common.keys import Keys    
  
from selenium.webdriver.common.action_chains import ActionChains  
from selenium.webdriver.common.by import By  
from selenium.webdriver.common.keys import Keys  
from selenium.webdriver.support.ui import Select  
from selenium.webdriver.support import expected_conditions as EC  
from selenium.webdriver.support.wait import WebDriverWait  
import time


from browsermobproxy import Server






server = Server(r"F:\python\browsermob-proxy\browsermob-proxy-2.0-beta-6\bin\browsermob-proxy.bat")
server.start()
proxy = server.create_proxy()
proxy.new_har("generated_har")
proxy.blacklist(".*google.*", 404)
proxy.blacklist(".*yahoo.*", 404)
proxy.blacklist(".*facebook.*", 404)
proxy.blacklist(".*twitter.*", 404)
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--proxy-server={0}".format(proxy.proxy))
print(proxy.proxy)
#加载谷歌驱动
browser = webdriver.Chrome(executable_path=r"C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe")  
#微信上的一个网页,有一个视频
url="http://mp.weixin.qq.com/s?__biz=MzAwMTc4OTU4Nw==&mid=2651582976&idx=2&sn=ba9f54af181837b34ce6985aa143c526&chksm=812b09fcb65c80eaba69bff9caf673339ad724de000c9202531bf381602b0b037ea0ededa5c6&mpshare=1&scene=23&srcid=0218CtB06UANo9gFuW5YIIV7#rd"  
#打开url
browser.get(url)  
#睡眠,等待页面加载完成
time.sleep(50)
#获取iframe标签,视频窗口
element0 =browser.find_element_by_tag_name("iframe")
#获得标签属性
iurl =element0.get_attribute('src')
#加载iframe中的url
browser.get(iurl)


#proxy.wait_for_traffic_to_stop(1, 60) 
time.sleep(50)


#找到播放按钮
element = browser.find_elements_by_class_name("txp_btn_play")#txp_btn
#点击播放按钮
element[0].click()
time.sleep(50)


text_file = open("e:\555555.har", "w")
text_file.write(str(proxy.har))
text_file.close() 




server.stop()
browser.quit()
proxy.close()





猜你喜欢

转载自blog.csdn.net/qq_31683775/article/details/80226322