from selenium import webdriver
import time
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
from browsermobproxy import Server
class chrome_drive():
def __init__(self,url):
self.url=url
def driver(self):
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(10)
driver.get(self.url)
return driver
def proxy_driver(self):
"""windows系统定位到.bat文件,os系统定位到下述文件"""
server = Server(r"/Users/lyx/browsermob-proxy-2.1.4/bin/browsermob-proxy")
server.start()
proxy = server.create_proxy()
chrome_options = Options()
chrome_options.add_argument('--proxy-server={0}'.format(proxy.proxy))
chrome_options.add_argument('--headless') # 无头模式,不开启游览器界面
chrome_options.add_argument('--ignore-certificate-errors') # 解决"您的连接不是私密连接"问题
chrome_options.add_argument('blink-settings=imagesEnabled=false') # 不加载图片,提升运行速度
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.implicitly_wait(10)
proxy.new_har(options={'captureHeaders': True, 'captureContent': True})
driver.get(self.url)
return (driver,proxy)
if __name__ == '__main__':
account_loc = (By.XPATH, "//*[@class='login_box']/div/div/input")
passwor_loc = (By.XPATH, "//*[@class='login_box']/div[2]/div/input")
login_loc = (By.XPATH, '//*[@id="app"]/div/div[1]/div[2]/div/button')
url="http://192.168.0.1"
br=chrome_drive(url).proxy_driver()
driver=br[0]
proxy=br[1]
driver.find_element(*account_loc).clear()
driver.find_element(*account_loc).send_keys('15884572902')
driver.find_element(*passwor_loc).clear()
driver.find_element(*passwor_loc).send_keys('admin')
driver.find_element(*login_loc).click()
time.sleep(2)
result = proxy.har
api_info = []
for i in result['log']['entries']:
if 'request' in i:
url = i['request']['url']
method = i['request']['method']
if '192.168.0.1' in url:
if method != 'OPTIONS':
api_info.append(i)
else:
pass
print(api_info)
driver.quit()
driver +Chrome+proxy
最新推荐文章于 2024-07-12 09:20:44 发布