问题,请单击按钮Selenium Python

问题描述 投票:0回答:1

“

我尝试了这种方法,该方法对于同一网页上的其他按钮(不同类)非常适用,但不适用于此特定按钮,我也尝试使用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()
python selenium-webdriver xpath css-selectors webdriverwait
1个回答
0
投票

文本为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
© www.soinside.com 2019 - 2024. All rights reserved.