python — Как изменить страну aliexpress с помощью драматурга

0
1


Я пытаюсь изменить страну, которая фигурирует в верхней части сайта aliexpress, чтобы изменить страну, язык и валюту. Я написал сценарий Python, используя драматурга, чтобы решить эту проблему. Поскольку я новичок в использовании драматурга, я не знаю, почему это не работает. Скрипт:

from playwright.sync_api import Playwright, sync_playwright, expect

def run(playwright: Playwright) -> None:
    browser = playwright.chromium.launch(headless=False)
    context = browser.new_context()
    # Open new page
    page = context.new_page()
    # Go to https://www.aliexpress.com/
    page.goto("https://www.aliexpress.com/")
    # Click div:has-text("MAD 40.53Orders over MAD 50.66May 16, 01:47 AM PT - May 23, 01:47 AM PTClaim now") >> nth=1
    page.locator("div:has-text(\"MAD 40.53Orders over MAD 50.66May 16, 01:47 AM PT - May 23, 01:47 AM PTClaim now\")").nth(1).click()
    # Click text=MAD 40.53Orders over MAD 50.66May 16, 01:47 AM PT - May 23, 01:47 AM PTClaim now >> img >> nth=1
    page.locator("text=MAD 40.53Orders over MAD 50.66May 16, 01:47 AM PT - May 23, 01:47 AM PTClaim now >> img").nth(1).click()
    # Click ._24EHh
    page.locator("._24EHh").click()
    # Click #switcher-info >> text=English
    page.locator("#switcher-info >> text=English").click()
    # Click a:has-text("Morocco")
    page.locator("a:has-text(\"Morocco\")").click()
    # Click [placeholder="Search"] >> nth=0
    page.locator("[placeholder=\"Search\"]").first.click()
    # Fill [placeholder="Search"] >> nth=0
    page.locator("[placeholder=\"Search\"]").first.fill("Spain")
    # Click li:has-text("Spain")
    page.locator("li:has-text(\"Spain\")").click()
    # Click span:has-text("Español")
    page.locator("span:has-text(\"Español\")").click()
    # Click text=English >> nth=1
    page.locator("text=English").nth(1).click()
    # Click span:has-text("EUR ( Euro )")
    page.locator("span:has-text(\"EUR ( Euro )\")").click()
    # Click text=EUR ( Euro ) CHF ( Swiss Franc ) MXN ( Mexican Peso ) EUR ( Euro ) CLP ( Chilean >> [placeholder="Search"]
    page.locator("text=EUR ( Euro ) CHF ( Swiss Franc ) MXN ( Mexican Peso ) EUR ( Euro ) CLP ( Chilean >> [placeholder=\"Search\"]").click()
    # Fill text=EUR ( Euro ) CHF ( Swiss Franc ) MXN ( Mexican Peso ) EUR ( Euro ) CLP ( Chilean >> [placeholder="Search"]
    page.locator("text=EUR ( Euro ) CHF ( Swiss Franc ) MXN ( Mexican Peso ) EUR ( Euro ) CLP ( Chilean >> [placeholder=\"Search\"]").fill("MAD")
    # Click text=MAD ( Moroccan Dirham )
    page.locator("text=MAD ( Moroccan Dirham )").click()
    # Click text=Save
    # with page.expect_navigation(url="https://www.aliexpress.com/"):
    with page.expect_navigation():
        page.locator("text=Save").click()
    # ---------------------
    context.close()
    browser.close()
with sync_playwright() as playwright:
    run(playwright)

Буду очень признателен, если вы поможете мне решить эту проблему. Благодарю вас!

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь