我尝试了这种方法,该方法对于同一网页上的其他按钮(不同类)非常适用,但不适用于此特定按钮,我也尝试使用div类:
xpathoo = '//button[@class="ncss-brand pt2-sm pr5-sm pb2-sm pl5-sm ncss-btn-accent continueOrderReviewBtn mod-button-width ncss-brand\
pt3-sm prl5-sm pb3-sm pt2-lg pb2-lg d-sm-b d-md-ib u-uppercase u-rounded fs14-sm"]'
driver.find_element_by_xpath(xpathoo).click()
文本为PASSA ALLA VERIFICA DELL]的元素是动态元素,因此单击它必须为element_to_be_clickable()
引入WebDriverWait,并且可以使用以下任何一个Locator Strategies:] >
使用CSS_SELECTOR
:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.continueOrderReviewBtn[data-attr='continueToOrderReviewBtn']"))).click()
使用XPATH
:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@data-attr='continueToOrderReviewBtn' and contains(., 'PASSA ALLA VERIFICA DELL')]"))).click()
注:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC