selenium 根据xpath 元素出现并且可以点击就点击如果还未出现就继续等待
时间: 2023-08-21 16:04:25 浏览: 46
好的,您可以使用以下代码实现该功能:
```python
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 等待元素出现并且可以点击
def wait_and_click(driver, xpath):
while True:
try:
element = WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.XPATH, xpath)))
element.click()
break
except:
pass
# 等待元素出现
def wait_for_element(driver, xpath):
while True:
try:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH, xpath)))
break
except:
pass
```
其中,`wait_and_click` 函数会一直等待元素出现并且可以点击后进行点击,如果元素一直未出现或者无法点击,则会一直等待,直到点击成功;`wait_for_element` 函数同样会一直等待元素出现,如果元素一直未出现,则会一直等待。您可以根据需要调用这两个函数来实现您的需求。