How to Capture request Selenium (Chrome) use Python


import json, time
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
def process_browser_log_entry(entry):
            response = json.loads(entry['message'])['message']
            return response
caps = DesiredCapabilities.CHROME
caps['goog:loggingPrefs'] = {'performance': 'ALL'}
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--disable-gpu')
options.add_argument('--ignore-certificate-errors')
driver = webdriver.Chrome(desired_capabilities=caps)

driver.get('https://www.douyin.com/user/MS4wLjABAAAAWFJ0Xj7_-WtvDgfKp8FN75DAWlJNLkGtwgMOJ33Iu-EJdD9wotVMiZOer38cFAdA?previous_page=app_code_link')
time.sleep(50)
netLog = driver.get_log('performance')
events = [process_browser_log_entry(entry) for entry in netLog]
events = [event for event in events if 'Network.responseReceived' in event['method']]
for item in events:
    if "response" in item["params"]:
        if "url" in item["params"]["response"]:
            if 'aweme/post' in item["params"]["response"]["url"]:
                print(json.dumps(item["params"], indent=4))
                body = driver.execute_cdp_cmd('Network.getResponseBody', {'requestId': item["params"]["requestId"]})
                try:
                    print(body)
                except:
                    pass
                print(item["params"]["response"]["url"])
                
driver.close()
driver.quit()

إرسال تعليق

Post a Comment (0)

أحدث أقدم