LuTong 3 месяцев назад
Родитель
Сommit
927ab1b70f
1 измененных файлов с 15 добавлено и 8 удалено
  1. 15 8
      src/scraper.py

+ 15 - 8
src/scraper.py

@@ -25,16 +25,23 @@ 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)
+            # 关键修复:每次启动都使用 create_options() 产生的全新对象
+            self.driver = uc.Chrome(options=create_options(), headless=headless, version_main=131)
         except:
-            self.driver = uc.Chrome(options=options, headless=headless)
+            # 关键修复:这里也要用全新的 options 对象
+            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):