這似乎很簡單。我正在嘗試通過 selenium chrome Web 驅動程式單擊提交按鈕,這顯然非常簡單。但由于某種原因,我無法這樣做。
這是代碼的樣子:-
<div class="prettyBtn primaryBtn" onclick="setIsDataAdjustHiddenField();QuoteFormSubmit();return false;"> <span> Get Quote </span></div>
附上代碼片段的影像。

到目前為止,我已經嘗試過 xpath,“btn”類的完整 Xpath,“prettyBtn primaryBtn”類。
沒有成功后,我想用類名“find_elements_by_class_name”來監視它們,但仍然無法單擊按鈕。
這是我到目前為止所嘗試的: -
通過跨度標簽:
driver.find_elements_by_xpath("//span[text()='Get Quote']").click()
通過類名:
driver.find_elements_by_class_name("btn").click()
driver.find_elements_by_class_name("prettyBtn primaryBtn").click()
我確實查看了檔案和其他幾個靈魂,但到目前為止沒有運氣......我有其他網頁可以填寫和提交表格,但這個。有什么幫助或建議嗎?
uj5u.com熱心網友回復:
innerText中包含您必須考慮的<span>前導和尾隨空格,您可以使用以下任一Locator Strategies:
使用xpath和
normalize-space():element = driver.find_element(By.XPATH, "//span[normalize-space()='Get Quote']")使用xpath和
contains():element = driver.find_element(By.XPATH, "//span[contains(., 'Get Quote')]")
要理想地單擊元素,您需要為element_to_be_clickable()誘導WebDriverWait并且您可以使用以下任一定位器策略:
使用xpath和
normalize-space():WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//span[normalize-space()='Get Quote']"))).click()使用xpath和
contains():WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//span[contains(., 'Get Quote')]"))).click()注意:您必須添加以下匯入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/457807.html
標籤:python-3.x 硒 硒网络驱动程序 路径 网络驱动程序等待
