超全模态模型 × Harness 升级,升级解锁 ArkClaw,最新支持 DeepSeek-V4 系列与 GLM-5.1
Message: Select only works on elements, not on 该报错触发原因是Selenium内置的Select工具类仅支持操作HTML原生<select>标签实现的下拉组件,而Google Trends使用的是Angular Material框架的自定义<md-select>下拉组件,没有原生<select>结构,因此无法直接调用Select类的相关方法。 解决方案 # 仅用Selenium操作的核心逻辑是模拟人工操作下拉框的完整流程: 第一步:点击<md-select>元素触发下拉选项展开 第二步:等待下拉选项渲染完成 第三步:定位到目标选项元素,执行点击操作完成选择 修正后的代码 # from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import time driver = webdriver.Chrome(executable_path="C:\\Drivers\\chromedriver.exe") # 如果使用Selenium 4.6及以上版本,无需手动指定chromedriver路径,工具会自动管理: # driver = webdriver.Chrome() driver.get("https://trends.google.com/trends") key1 = driver.find_element(By.XPATH, '//*[@id="sidenav-menu-btn"]/div') key1.click() time.sleep(1) key2 = driver.find_element(By.XPATH, '//*[@id="sidenav-list-group-trends"]/md-item[2]/md-item-content/a/i') key2.click() time.sleep(2) # 点击展开md-select下拉框 md_select = driver.find_element(By.XPATH, '//*[@id="select_12"]') md_select.click() # 等待下拉选项加载完成,点击第3个选项(对应原逻辑的index=2,从0开始计数) # 可根据实际DOM结构调整定位规则,md-select组件的选项通常为md-option标签 target_option = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.XPATH, '//md-option[3]')) ) target_option.click() 注意事项 # 页面元素的id(比如示例中的select_12)大概率是动态生成的,页面刷新或者站点版本更新后可能失效,建议替换为更稳定的定位规则,比如通过选项文本匹配//md-option[contains(text(),"过去12个月")]、通过自定义属性匹配等 尽量用显示等待(WebDriverWait)替代固定的time.sleep(),可大幅提升代码执行效率和稳定性 内容的提问来源于stack exchange,提问作者user15896474
超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起
模型再升级,30秒超长叙事, 模态参考扩容
模型自由,工具不限,最新支持 Deepseek-V4 系列、GLM-5.3 系列
超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列
大模型19元起,Al应用9.9元畅享,新人首购爆款尽享优惠