You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Playwright设置AliExpress(速卖通)默认语言的方法

解决速卖通页面语言设置问题

针对你的需求,有三种可行的方法来强制设置速卖通页面为目标语言(以西班牙语为例):

方法一:URL参数直接指定语言

速卖通支持通过URL参数language强制指定页面语言,西班牙语对应参数值为es。你可以直接修改请求的URL,无需操作页面控件:

from playwright.async_api import async_playwright

async def aliexpress(browser_url, product_url):
   async with async_playwright() as pw:
        browser = await pw.chromium.connect_over_cdp(browser_url)
        try:
            # 给URL添加语言参数
            if "?" in product_url:
                product_url = f"{product_url}&language=es"
            else:
                product_url = f"{product_url}?language=es"
            
            page = await browser.new_page()
            await page.goto(product_url, timeout=None)
            nav_description = await page.locator('#product-description').inner_text()
            print(nav_description)
            return nav_description
        finally:
            await browser.close()

方法二:操作页面语言切换控件

如果URL参数失效,可以直接定位页面上的语言切换组件完成设置。注意速卖通的DOM结构可能会更新,以下定位器需根据实际页面调整:

from playwright.async_api import async_playwright

async def aliexpress(browser_url, product_url):
   async with async_playwright() as pw:
        browser = await pw.chromium.connect_over_cdp(browser_url)
        try:
            page = await browser.new_page()
            await page.goto(product_url, timeout=None)
            
            # 检查当前语言是否为西班牙语,以页面顶部语言显示文本为例
            current_lang = await page.locator(".top-lang-selector .current-lang").inner_text()
            if "Español" not in current_lang:
                # 点击语言切换按钮
                await page.locator(".top-lang-selector").click()
                # 选择西班牙语选项(根据实际文本或属性定位)
                await page.locator('text="Español"').click()
                # 等待页面刷新完成
                await page.wait_for_load_state("networkidle")
            
            nav_description = await page.locator('#product-description').inner_text()
            print(nav_description)
            return nav_description
        finally:
            await browser.close()

方法三:设置浏览器Locale偏好

在创建页面时指定浏览器的语言区域设置,让速卖通自动匹配目标语言:

from playwright.async_api import async_playwright

async def aliexpress(browser_url, product_url):
   async with async_playwright() as pw:
        browser = await pw.chromium.connect_over_cdp(browser_url)
        try:
            # 创建页面时指定西班牙语区域
            page = await browser.new_page(locale="es-ES")
            await page.goto(product_url, timeout=None)
            
            nav_description = await page.locator('#product-description').inner_text()
            print(nav_description)
            return nav_description
        finally:
            await browser.close()

注意事项

  • 方法一优先级最高,实现最简单,推荐优先使用;
  • 方法二需注意DOM结构变化,若定位器失效,需通过浏览器开发者工具重新获取最新的选择器;
  • 方法三依赖速卖通的语言检测逻辑,部分场景下可能被IP地区覆盖,需结合实际情况测试。

内容的提问来源于stack exchange,提问作者bawse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 21:39:59