我将通过一个列表点击Alquilar中的Alquilar按钮
<ul id="vertical-operation-menu">
<li valorTipoHome="1" id="home-Venta" class="js-btn-home current vertical-operation-menu-btns">
<a href="#">Comprar</a>
</li>
<li valorTipoHome="2" id="home-Alquiler" class="js-btn-home vertical-operation-menu-btns">
<a href="#">Alquilar</a>
</li>
<li valorTipoHome="desarrollosURL" id="home-Emprendimiento" class="js-btn-home vertical-operation-menu-btns">
<a href="#">Emprendimientos</a>
</li>
<li valorTipoHome="homeComercial_grupo_4" data-tipo-propiedad-dfp="4,5,10,8,45" id="home-Comercial" class="js-btn-home vertical-operation-menu-btns">
<a href="#">Comercial</a>
</li>
<li valorTipoHome="4" id="home-Vacacional" class="js-btn-home vertical-operation-menu-btns">
<a href="#">Temporal</a>
</li>
</ul>
我用以下方式用XPATH捕获它
tipoOperacion = webdriver.find_element_by_xpath('//*[@id="home-Alquiler"]/a')
tipoOperacion.click()
但没有任何反应
查看我正在捕获的数据并返回按钮的名称
a = tipoOperacion.text
print(a)
出租
但我不能点击按钮
我添加了问题print的答案(WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,“// a [text()='Alquilar']”))。)。text)
出租
试试这个看看是否有帮助。
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//a[text()='Alquilar']"))).click()
注意:使用以下导入
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
编辑:
from selenium.webdriver.common.action_chains import ActionChains
element=driver.find_element_by_xpath("//a[text()='Alquilar']")
ActionChains(driver).move_to_element(element).perform()
要么
driver.execute_script("arguments[0].click();",driver.find_element_by_xpath("//a[text()='Alquilar']"))