我收到錯誤:AttributeError:“WebDriver”物件沒有屬性“find_element_by”
url = "https://calculator.shipany.io/"
chrome_options = Options()
# chrome_options.add_argument("--headless")
driver = webdriver.Chrome(options=chrome_options)
driver.get(url)
sleep(5)
1.)如何使用硒選擇下拉:
- 原產地選擇“香港”
origin = driver.find_element_by(By.XPATH, "//*[@id='i_form']/div/div[2]/div[1]/select/option[2]")
origin.click()
- 在目的地選擇“香港”
destination = driver.find_element_by(By.XPATH, "//*[@id='i_form']/div/div[2]/div[2]/select/option[2]")
destination.click()
2.) 如何在占位符中輸入文字
- 重量
weight = driver.find_element_by(By.XPATH, "//*[@id='i_form']/div/div[2]/div[3]/input[1]")
weight.send_keys("1")
- 長(厘米)
length = driver.find_element_by(By.XPATH, "//input[@placeholder='L(cm)']")
length.send_keys("1")
- 寬(厘米)
width = driver.find_element_by(By.XPATH, "//*[@id='dimension']/input[3]")
width.send_keys("1")
- 高(厘米)
height = driver.find_element_by(By.XPATH, "//*[@id='dimension']/input[6]")
height.send_keys("1")
3.) 如何點擊提交表單的按鈕?
button = driver.find_element_by(By.XPATH, "//*[@id='i_form']/div/div[2]/div[5]/button[1]")
button.click()
uj5u.com熱心網友回復:
而不是find_element_by你應該使用find_element方法。
喜歡
origin = driver.find_element(By.XPATH, "//*[@id='i_form']/div/div[2]/div[1]/select/option[2]")
origin.click()
等
您可以將上面的代碼簡化為
driver.find_element(By.XPATH, "//*[@id='i_form']/div/div[2]/div[1]/select/option[2]").click()
此外,您應該使用預期條件顯式等待而不是硬編碼暫停,例如
sleep(5)
uj5u.com熱心網友回復:
下拉串列是Select您可以使用 Select 類訪問元素的組件。
要處理動態元素,請使用explicit wait并等待元素可見。
driver.get("https://calculator.shipany.io/")
wait=WebDriverWait(driver, 5)
dropdownOrigin =wait.until(EC.visibility_of_element_located((By.XPATH, "//div[@class='booking-form']//select[.//option[contains(.,'Origin')]]")))
selectOrigin=Select(dropdownOrigin)
selectOrigin.select_by_visible_text("Hong Kong")
dropdownDestination =wait.until(EC.visibility_of_element_located((By.XPATH, "//div[@class='booking-form']//select[.//option[contains(.,'Destination')]]")))
selectDest=Select(dropdownDestination)
selectDest.select_by_visible_text("Hong Kong")
您需要匯入以下庫。
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 selenium.webdriver.support.ui import Select
瀏覽器快照:

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/433132.html
