Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何阅读网站&;以迭代方式保存har数据(我有一个包含1000个URL的CSV文件,但不能用唯一的名称保存文件)_Python_Selenium_Har - Fatal编程技术网

Python 如何阅读网站&;以迭代方式保存har数据(我有一个包含1000个URL的CSV文件,但不能用唯一的名称保存文件)

Python 如何阅读网站&;以迭代方式保存har数据(我有一个包含1000个URL的CSV文件,但不能用唯一的名称保存文件),python,selenium,har,Python,Selenium,Har,本项目的目标是:在浏览器插件中测试10个adblocker,并在1000中运行,为1个adblocker检索1000个har数据,因此总数据集为10X1000(测试数据)+1000(原始数据)=11000 脚本在读取1个URL和保存1.har时运行平稳。但是,我有一个包含1000个URL的CSV列表,我想要的是分别从CSV和保存1-1000.har运行URL,而不覆盖 但是,我无法链接到保存部分。当我启动程序时,浏览器只是不断加载不同的URL,但只保存1个数据文件 import csv from

本项目的目标是:在浏览器插件中测试10个adblocker,并在1000中运行,为1个adblocker检索1000个har数据,因此总数据集为10X1000(测试数据)+1000(原始数据)=11000

脚本在读取1个URL和保存1.har时运行平稳。但是,我有一个包含1000个URL的CSV列表,我想要的是分别从CSV和保存1-1000.har运行URL,而不覆盖

但是,我无法链接到保存部分。当我启动程序时,浏览器只是不断加载不同的URL,但只保存1个数据文件

import csv
from browsermobproxy import Server
from selenium import webdriver
import json
server = Server("D:\\browsermob-proxy-2.1.4\\bin\\browsermob-proxy.bat")
server.start()
proxy = server.create_proxy()

profile = webdriver.FirefoxProfile()
profile.set_proxy(proxy.selenium_proxy())
driver = webdriver.Firefox(firefox_profile=profile)

extension_dir = "C:\\Program Files (x86)\\Mozilla Firefox\\browser\\features\\"

# remember to include .xpi at the end of your file names 
extensions = [
    'adblock_plus-3.5-an+fx.xpi'
    ]

for extension in extensions:
    driver.install_addon(extension_dir + extension, temporary=True)
    proxy.new_har("qq")

path = "D:\websites.csv"    
csvfile = open(path,'r')
reader = csv.reader(csvfile)
result = {}
for item in reader:
    if reader.line_num ==1:
        continue
    result[item[0]] = item[1]

csvfile.close()
print(result)


for id, web in result.items():
    website = web
    driver.get(website)




server.stop()
driver.quit()


f = os.fdopen(fi, "w")

欢迎使用SO。为什么您不能将
proxy.har
保存到每个url所需名称的文件中。保存har不是问题,但自动访问1000个url并使用唯一名称保存1000个har是问题。在更新帖子之前,您有正确的逻辑,在每个结果
web
中循环,但请确保
proxy.new\har(web)
driver.get(web)
之前的这个循环中。然后将“proxy.har”响应转储到json,并使用
web+“\u har.har”打开一个文件
并在其中写入json转储。欢迎这样做。为什么您不能将
proxy.har
保存到每个url所需名称的文件中。保存har不是问题,但自动访问1000个url并使用唯一名称保存1000个har是问题。在更新帖子之前,您有正确的逻辑,在每个结果
web中循环e> ,但请确保在
driver.get(web)
之前在此循环中
proxy.new\u har(web)
。然后将“proxy.har”响应转储到json,并打开一个带有
web+“\u har.har”
的文件,并将json转储写入其中。