在selenium始终存在的情况下停止单击同一个按钮,可以通过以下步骤实现:
以下是一个示例代码:
from selenium import webdriver
from selenium.common.exceptions import ElementNotInteractableException, StaleElementReferenceException
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
# 初始化WebDriver
driver = webdriver.Chrome()
# 打开网页
driver.get("https://example.com")
# 设置最大尝试次数
max_attempts = 5
attempts = 0
while attempts < max_attempts:
try:
# 定位按钮元素
button = driver.find_element(By.XPATH, "//button[@id='myButton']")
# 点击按钮
button.click()
# 等待页面加载完成或按钮重新出现
WebDriverWait(driver, 10).until(EC.staleness_of(button))
# 停止循环
break
except (ElementNotInteractableException, StaleElementReferenceException):
# 捕获异常,继续尝试
attempts += 1
# 关闭WebDriver
driver.quit()
在上述示例代码中,我们使用了Chrome浏览器和XPath来定位按钮元素。你可以根据实际情况选择适合的浏览器和定位方式。此外,我们使用了WebDriverWait来等待页面加载完成或按钮重新出现,以确保按钮一直存在。你可以根据实际情况调整等待时间和条件。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云