重复if直到true[python]
我希望重复if直到true[python],python,selenium,Python,Selenium,我希望if搜索CSS选择器,如果找到了,则进一步执行脚本,如果未找到CSS选择器,则应重复if函数,直到其为真 这是我的密码: if driver.find_elements_by_css_selector('#buyTools > div.prl6-sm.prl0-lg > fieldset > div > div:nth-child(7) > label'): driver.find_element_by_xpath('//*[@id="buyTool
if
搜索CSS选择器,如果找到了,则进一步执行脚本,如果未找到CSS选择器,则应重复if函数
,直到其为真
这是我的密码:
if driver.find_elements_by_css_selector('#buyTools > div.prl6-sm.prl0-lg > fieldset > div > div:nth-child(7) > label'):
driver.find_element_by_xpath('//*[@id="buyTools"]/div[1]/fieldset/div/div[7]/label').click()
else:
谢谢你的帮助 您可以使用带有任意等待的while循环来完成以下操作:
from time import sleep
while not driver.find_elements_by_css_selector('#buyTools > div.prl6-sm.prl0-lg > fieldset > div > div:nth-child(7) > label'):
sleep(1)
driver.find_element_by_xpath('//*[@id="buyTools"]/div[1]/fieldset/div/div[7]/label').click()
使用内置webdriverwait进行此等待,以使用不同的代码重新发明控制盘,因此您希望在不为真的情况下重复它您可能不想添加
时间。睡眠
,因为驱动程序。通过
运行也需要一些时间。您可以调整睡眠以满足您的需要,或者完全删除睡眠,如果是这样,只需使用传递
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
WebDriverWait(driver,5000).until(EC.presence_of_element_located(
(By.CSS_SELECTOR, "#buyTools > div.prl6-sm.prl0-lg > fieldset > div > div:nth-child(7) > label")))