我正在嘗試從該網站上按不同州查找某些快餐店的選單價格。有一個下拉選單,其中不同的狀態是選項。在我選擇一個州(例如,加利福尼亞)后,我想在網上抓取他們冰淇淋的不同價格。但是,我不斷收到相同的錯誤訊息,阻止我獲取資料。我認為在訪問網站之前它可以正常作業,但似乎無法按州選擇它。我需要做什么才能:
- 獲取 selenium 以準確選擇某個州(加利福尼亞州)
- 僅獲取“冰淇淋”類別的選單價格?
代碼如下:
!pip3 install selenium
!pip3 install webdriver-manager
from selenium import webdriver
import time
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.keys import Keys
import pandas as pd
path = ("C:/path/to/chromedriver.exe")
driver = webdriver.Chrome(executable_path = path)
url = "https://www.fastfoodmenuprices.com/baskin-robbins-prices/"
driver.get(url)
select_state = driver.find_element_by_xpath("//select[@class='tp-variation']").click
## select_state = driver.find_element_by_id("variation-tablepress-34")
select_state = driver.find_element_by_id("variation-tablepress-34")
select_state.select_by_value("MS4yOA==")
time.sleep(3)
我得到的錯誤是:
AttributeError: 'WebElement' object has no attribute 'select_by_value'
代碼 錯誤的照片如下:

uj5u.com熱心網友回復:
select_by_value()是來自select類的方法,要使用它,您必須使用Select(webelement)方法。
解決方案
要選擇加利福尼亞選項,您可以使用以下定位器策略:
代碼塊:
driver.get("https://www.fastfoodmenuprices.com/baskin-robbins-prices") Select(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//select[@class='tp-variation']")))).select_by_value("MS4yOA==")瀏覽器快照:

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/460092.html
標籤:Python 硒 硒网络驱动程序 路径 html-选择
