XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 1
返回提交历史

XFEstudio/gpt4free

Update Bard.py

29df5a21
H Lohaus <hlohaus@users.noreply.github.com>
提交于

代码差异

1 个文件 +7 -12
Modified g4f/Provider/needs_auth/Bard.py +7 -12
@@ -1,15 +1,10 @@
1 1 from __future__ import annotations
2 2
3 3 import time
4 try:
5 from selenium.webdriver.remote.webdriver import WebDriver
6 except ImportError:
7 class WebDriver():
8 pass
9 4
10 5 from ...typing import CreateResult, Messages
11 6 from ..base_provider import BaseProvider
12 from ..helper import format_prompt, get_browser
7 from ..helper import WebDriver, format_prompt, get_browser
13 8
14 9 class Bard(BaseProvider):
15 10 url = "https://bard.google.com"
@@ -24,14 +19,14 @@ class Bard(BaseProvider):
24 19 stream: bool,
25 20 proxy: str = None,
26 21 browser: WebDriver = None,
27 display: bool = True,
22 hidden_display: bool = True,
28 23 **kwargs
29 24 ) -> CreateResult:
30 25 prompt = format_prompt(messages)
31 26 if browser:
32 27 driver = browser
33 28 else:
34 if display:
29 if hidden_display:
35 30 driver, display = get_browser(None, True, proxy)
36 31 else:
37 32 driver = get_browser(None, False, proxy)
@@ -49,7 +44,7 @@ class Bard(BaseProvider):
49 44 if not browser:
50 45 driver.quit()
51 46 # New browser should be visible
52 if display:
47 if hidden_display:
53 48 display.stop()
54 49 driver = get_browser(None, False, proxy)
55 50 driver.get(f"{cls.url}/chat")
@@ -74,11 +69,11 @@ XMLHttpRequest.prototype.open = function(method, url) {
74 69 """
75 70 driver.execute_script(script)
76 71
77 # Send prompt
72 # Input and submit prompt
78 73 driver.find_element(By.CSS_SELECTOR, "div.ql-editor.ql-blank.textarea").send_keys(prompt)
79 74 driver.find_element(By.CSS_SELECTOR, "button.send-button").click()
80 75
81 # Read response
76 # Yield response
82 77 script = "return window._message;"
83 78 while True:
84 79 chunk = driver.execute_script(script)
@@ -92,5 +87,5 @@ XMLHttpRequest.prototype.open = function(method, url) {
92 87 if not browser:
93 88 time.sleep(0.1)
94 89 driver.quit()
95 if display:
90 if hidden_display:
96 91 display.stop()