Python 单击按钮时出现问题

Python 单击按钮时出现问题,python,selenium-webdriver,Python,Selenium Webdriver,我尝试了此方法,该方法适用于同一网页上的其他按钮(不同类),但不适用于此特定按钮,我还尝试了使用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-

我尝试了此方法,该方法适用于同一网页上的其他按钮(不同类),但不适用于此特定按钮,我还尝试了使用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”的元素是一个动态元素,因此单击它,您必须引导WebDriverWait使
元素可单击()
,并且您可以使用以下任一选项:

  • 使用
    CSS\u选择器

    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
    

该类值可能会更改(例如,当您调整屏幕大小时),如果使用data attr的值会怎么样?类似于
//按钮[@data attr='continueToOrderReviewBtn']