2 回答
TA贡献1859条经验 获得超6个赞
根据文本选择单选按钮 InduceWebDriverWait并等待element_to_be_clickable() 和以下xpath选项。
XPATH 1:
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//label[.//span[contains(.,'Soonest available time with all items')]]/input[@name='slotsRadioGroup']"))).click()
XPATH 2:
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//span[contains(.,'Soonest available time with all items')]/preceding-sibling::input[1]"))).click()
如果 Web 驱动程序单击不起作用,那么您可以尝试javascripts执行程序单击相同的。
radiobtn=WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.XPATH,"//label[.//span[contains(.,'Soonest available time with all items')]]/input[@name='slotsRadioGroup']")))
driver.execute_script("arguments[0].click();", radiobtn)
注意:- 您需要导入以下库。
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
TA贡献1828条经验 获得超6个赞
尝试这个:
for i in driver.find_elements_by_tag_name("span"):
if "Soonest available" in i.text:
result = i
break
添加回答
举报
