LuTong 3 hónapja
szülő
commit
428b4984b9
1 módosított fájl, 14 hozzáadás és 8 törlés
  1. 14 8
      src/scraper.py

+ 14 - 8
src/scraper.py

@@ -25,16 +25,22 @@ class Scraper1688:
         self.status_callback = status_callback # 用于回调 GUI 状态
         self.user_data_path = os.path.abspath(os.path.join(os.getcwd(), "1688_user_data"))
         self._cleanup()
-        options = uc.ChromeOptions()
-        options.add_argument(f'user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36')
-        options.add_argument(f"--user-data-dir={self.user_data_path}")
-        if headless: options.add_argument('--headless=new')
-        options.add_argument('--disable-blink-features=AutomationControlled')
-        options.add_argument("--window-size=1920,1080")
+
+        def create_options():
+            options = uc.ChromeOptions()
+            options.add_argument(f'user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36')
+            options.add_argument(f"--user-data-dir={self.user_data_path}")
+            if headless: options.add_argument('--headless=new')
+            options.add_argument('--disable-blink-features=AutomationControlled')
+            options.add_argument("--window-size=1920,1080")
+            return options
+
         try:
-            self.driver = uc.Chrome(options=options, headless=headless, version_main=137)
+            self.driver = uc.Chrome(options=create_options(), headless=headless, version_main=137)
         except:
-            self.driver = uc.Chrome(options=options, headless=headless)
+            # 关键修复:使用全新的 options 对象,避免 reuse 错误
+            self.driver = uc.Chrome(options=create_options(), headless=headless)
+        
         stealth(self.driver, languages=["zh-CN", "zh"], vendor="Google Inc.", platform="Win32", fix_hairline=True)
 
     def _cleanup(self):