如何点击以下网站的按钮?
How to click the button on the following website?
我是 python 的新手,我正在尝试 select 以下网站上的几个选项,然后单击搜索按钮更新结果。但是,我无法获得响应按钮。
我尝试使用搜索 button.click() 和 .submit() 并尝试隐式等待。我还使用下面的代码等待按钮可点击。执行代码时,它突出显示按钮但似乎没有释放点击;几乎就像半按。
from selenium import webdriver
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Safari()
driver.get('https://leasing.com/personal/car-leasing/')
element = driver.find_element_by_id('selUpfront')
select = Select(element)
select.select_by_value("3")
element = driver.find_element_by_id('selMileage')
select = Select(element)
select.select_by_value("8000")
searchbutton = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.ID, "search-button")))
searchbutton.click()
我希望搜索结果会根据上述条件进行更新。
有 2 个元素带有 search-button 您需要使用 xpath 来定位特定的
searchbutton = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@id='search-button']")))
searchbutton.click()
看来你很接近。要在元素上 click()
,您必须诱导 WebDriverWait 才能使 元素可点击 ,您可以使用以下任一解决方案:
使用CSS_SELECTOR
:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button#search-button>i.fa.fa-search#search-button-icon"))).click()
使用XPATH
:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@id='search-button']/i[@class='fa fa-search' and @id='search-button-icon']"))).click()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
浏览器快照:
我是 python 的新手,我正在尝试 select 以下网站上的几个选项,然后单击搜索按钮更新结果。但是,我无法获得响应按钮。
我尝试使用搜索 button.click() 和 .submit() 并尝试隐式等待。我还使用下面的代码等待按钮可点击。执行代码时,它突出显示按钮但似乎没有释放点击;几乎就像半按。
from selenium import webdriver
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Safari()
driver.get('https://leasing.com/personal/car-leasing/')
element = driver.find_element_by_id('selUpfront')
select = Select(element)
select.select_by_value("3")
element = driver.find_element_by_id('selMileage')
select = Select(element)
select.select_by_value("8000")
searchbutton = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.ID, "search-button")))
searchbutton.click()
我希望搜索结果会根据上述条件进行更新。
有 2 个元素带有 search-button 您需要使用 xpath 来定位特定的
searchbutton = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@id='search-button']")))
searchbutton.click()
看来你很接近。要在元素上 click()
,您必须诱导 WebDriverWait 才能使 元素可点击 ,您可以使用以下任一解决方案:
使用
CSS_SELECTOR
:WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button#search-button>i.fa.fa-search#search-button-icon"))).click()
使用
XPATH
:WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@id='search-button']/i[@class='fa fa-search' and @id='search-button-icon']"))).click()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
浏览器快照: