def OpenBrowser(self, index, proxy): ''' 打开浏览器 :param index: 浏览器编号 :param agentOrNot: 是否使用代理 :return: ''' cmd = "" strCmd = "company" # home or company 控制chrome载入地址 self.port = 9220 + index if strCmd == "company": cmd = r'"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=%d ' \ r'--disable-popup-blocking ' \ r'--disable-desktop-notifications ' \ r'--user-data-dir="d:\selenium\%s" --proxy-server=%s' % (self.port, self.port, proxy) elif strCmd == "home": cmd = r'"C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe" --remote-debugging-port=%d ' \ r'--disable-popup-blocking ' \ r'--disable-desktop-notifications ' \ r'--user-data-dir="d:\selenium\%s" --proxy-server=%s' % (self.port, self.port, proxy) # ' –-disable-images'不打开图片 subprocess.Popen(cmd, shell=True) str_ip = "127.0.0.1:%d" % self.port self.urlpath = "http://" + str_ip chrome_options = Options() chrome_options.add_experimental_option("debuggerAddress", str_ip) self.browser = webdriver.Chrome(options=chrome_options) self.browser.set_window_position(4 + int(index % 2) * 894, 4 + int((index - 0.1) / 2) * 20) self.browser.set_window_size(894, 484) self.index = index return
时间: 2024-02-15 07:30:29 浏览: 295
这段代码是用 Python 的 Selenium 库打开 Chrome 浏览器,并且使用代理服务器。具体来说,它做了以下几个事情:
1. 根据传入的 index 和代理服务器地址 proxy,生成一个打开 Chrome 浏览器的命令 cmd,其中包含了调试端口号、禁止弹出窗口和桌面通知、用户数据目录和代理服务器地址等参数。
2. 使用 Python 的 subprocess 模块启动一个新的进程,执行上述命令,从而打开 Chrome 浏览器。
3. 根据调试端口号生成一个本地 IP 地址 str_ip,用于连接 Chrome 远程调试协议。
4. 使用 Selenium 的 ChromeOptions 类设置调试地址,从而让 Selenium 连接到刚才打开的 Chrome 浏览器。
5. 创建一个 Chrome WebDriver 对象,使用上述 ChromeOptions,并设置浏览器窗口位置和大小。
6. 返回最终的 WebDriver 对象。
如果您有任何问题或需要进一步的帮助,请随时问我。
阅读全文