首页 > 解决方案 > python 使用 selenium webdriver mouser

问题描述

我正在尝试打开 Mouser 网站并使用搜索栏发送一些数据。这是代码示例,但我无法获得正确的 CSS 选择器。谢谢你。

import time
from openpyxl import load_workbook
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

driver = webdriver.Chrome(executable_path='C:/Users/amuri/AppData/Local/Microsoft/WindowsApps/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/site-packages/chromedriver.exe')
driver.implicitly_wait(1)

url ='https://www.mouser.com/'
driver.get(url)
print(driver.title)
wait = WebDriverWait(driver, timeout=1)
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#as-input-066 .form-control")))
elem = driver.find_element_by_css_selector("#as-input-066 .form-control")
elem.click()
elem.send_keys("myString")

标签: pythoncssseleniumselenium-webdriverwebdriver

解决方案


尝试以下css

.form-control.headerSearchBox.search-input.js-search-autosuggest.as-input

xpath甚至更短:

//input[contains(@id,'as-input')]

解释:它看起来id包含as-input

另一个建议:改变

wait = WebDriverWait(driver, timeout=1)

wait = WebDriverWait(driver, timeout=15)

1 秒太小超时。它应该至少为 10。


推荐阅读