from
selenium
import
webdriver
from
selenium.webdriver.common.desired_capabilities
import
DesiredCapabilities
import
time
import
json
if
__name__
=
=
"__main__"
:
desired_capabilities
=
DesiredCapabilities.CHROME
desired_capabilities[
"goog:loggingPrefs"
]
=
{
"performance"
:
"ALL"
}
options
=
webdriver.ChromeOptions()
options.add_argument(
'headless'
)
options.add_argument(
"--ignore-certificate-errors"
)
driver
=
webdriver.Chrome(executable_path
=
"C:/chromedriver.exe"
,
chrome_options
=
options,
desired_capabilities
=
desired_capabilities)
time.sleep(
10
)
logs
=
driver.get_log(
"performance"
)
with
open
(
"network_log.json"
,
"w"
, encoding
=
"utf-8"
) as f:
f.write(
"["
)
for
log
in
logs:
network_log
=
json.loads(log[
"message"
])[
"message"
]
if
(
"Network.response"
in
network_log[
"method"
]
or
"Network.request"
in
network_log[
"method"
]
or
"Network.webSocket"
in
network_log[
"method"
]):
f.write(json.dumps(network_log)
+
","
)
f.write(
"{}]"
)
print
(
"Quitting Selenium WebDriver"
)
driver.quit()
json_file_path
=
"network_log.json"
with
open
(json_file_path,
"r"
, encoding
=
"utf-8"
) as f:
logs
=
json.loads(f.read())
for
log
in
logs:
try
:
url
=
log[
"params"
][
"request"
][
"url"
]
if
url[
len
(url)
-
4
:]
=
=
".png"
or
url[
len
(url)
-
4
:]
=
=
".jpg"
:
print
(url, end
=
'\n\n'
)
except
Exception as e:
pass