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

Python Selenium操作亚马逊Vendor Central下拉菜单报TimeoutException咨询

Selenium操作亚马逊Vendor Central下拉菜单报错解决方案

场景说明

使用Selenium在亚马逊Vendor Central切换菜单项下载报告时,需要从默认选中Shipped Revenue的下拉列表中选择Shipped COGS选项:

  • 下拉项初始状态截图:
    下拉项初始状态
  • 目标选项截图:
    目标选项Shipped COGS

初始代码及报错

最初使用的代码如下:

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())

import imaplib
import email
from email.header import decode_header
import re
import time

driver.get("https://vendorcentral.amazon.de/")
wait = WebDriverWait(driver,10)
# 输入邮箱
email = wait.until(EC.presence_of_element_located((By.XPATH, "//input[@name='email']")))
email.send_keys("***")

# 输入密码
driver.find_element_by_xpath("//input[@name='password']").send_keys("***")

driver.get("https://vendorcentral.amazon.de/analytics/dashboard/salesDiagnostic")

wait = WebDriverWait(driver, 10)

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//strong[text()='Shipped COGS']"))).click()

运行时先报No such element: Unable to locate element错误,调整后报TimeoutException。

问题原因

下拉菜单的选项默认处于隐藏状态,未点击展开下拉框前,目标选项元素不会被渲染为可交互状态,直接定位自然会报错。

正确实现代码

需要先点击展开下拉框,再选择对应选项:

# 点击展开下拉框
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH,"//*[@id='dashboard-filter-viewFilter']"))).click()

# 选择下拉列表中的Shipped COGS选项
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH,"//*[@id='dashboard-filter-viewFilter']/div/awsui-button-dropdown/div/div/ul/li[3]"))).click()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:54:02