diff --git a/client/src/pdd_collect_service.py b/client/src/pdd_collect_service.py index 6db10e9..01291d3 100644 --- a/client/src/pdd_collect_service.py +++ b/client/src/pdd_collect_service.py @@ -794,7 +794,7 @@ class PddCollectService: page_timeout: float = 30.0, spec_panel_timeout: float = 10.0, overall_timeout: float = 600.0, - max_goods_page_swipes: int = 12, + max_goods_page_swipes: int = 6, max_spec_swipes: int = 12, max_sku_count: int = 200, color_poll_interval: float = 0.1, diff --git a/client/test/test_pdd_collect_service.py b/client/test/test_pdd_collect_service.py index e172345..c14d5e7 100644 --- a/client/test/test_pdd_collect_service.py +++ b/client/test/test_pdd_collect_service.py @@ -1351,6 +1351,35 @@ class PddCollectParserTest(unittest.TestCase): self.assertTrue(device.clicks) self.assertEqual(device.swipe_panel_states[:2], [False, False]) + def test_goods_metadata_default_swipe_limit_is_six(self): + pages = [ + f""" + + + + """ + for index in range(7) + ] + device = GoodsMetadataScrollDevice(pages, self.spec_xml) + device.opened_url = "https://mobile.yangkeduo.com/goods.html?goods_id=123" + service = PddCollectService( + PddDeviceService(lambda _serial: device), + "USB-001", + "client-001", + sleeper=lambda _seconds: None, + ) + + result = service._collect_goods_details(device) + + self.assertIsNone(result.shop_name) + self.assertIsNone(result.reviews.raw) + self.assertEqual(6, len(device.swipes)) + self.assertEqual(6, device.page_index) + def test_cancel_during_goods_page_scroll_stops_before_spec_panel(self): incomplete_home = self.home_xml.replace( '