簡體   English   中英

如何在 Python 中使用 selenium 單擊按鈕 class

[英]How to click a button class using selenium in Python

<div class="wrapper">
 <button class="w-full h-14 pt-2 pb-1 px-3 bg-accent text-dark-1 rounded-full md:rounded select-none cursor-pointer md:hover:shadow-big focus:outline-none md:focus:bg-accent-2 md:focus:shadow-small ">
    <div class="font-medium">
      <div class="text-17 md:text-18 md:font-bold leading-18">Enter</div> 
        <div class="text-13 md:text-12 font-normal md:font-medium leading-normal">2 hours</div>
    </div>
 </button>
</div>

所以我試圖點擊這個按鈕,但它在 CSS 中有一個巨大的 class 名稱。 一種可能的方法是使用'driver.find_element_by_css_selector',但我不確定我是否做得對? 我更喜歡不必使用“css_selector”的方法。 但如果這是唯一的方法,我猜那將不得不這樣做。

我試過這個,但它似乎沒有用:

self.driver.find_element_by_css_selector('.w-full h-14 pt-2 pb-1 px-3 bg-accent text-dark-1 rounded-full md:rounded select-none cursor-pointer md:hover:shadow-big focus:outline-none md:focus:bg-accent-2 md:focus:shadow-small ')

有什么建議么? 謝謝你。

嘗試這個

btn = self.driver.find_element_by_css_selector('.w-full h-14 pt-2 pb-1 px-3 bg-accent 
text-dark-1 rounded-full md:rounded select-none cursor-pointer md:hover:shadow-big 
focus:outline-none md:focus:bg-accent-2 md:focus:shadow-small ')

btn.click()

使用以下定位器來識別元素。

Css 選擇器:

self.driver.find_element_by_css_selector("div.wrapper >button:nth-of-type(1)").click()

Xpath:

self.driver.find_element_by_xpath("//div[@class='wrapper']/button[1]").click()

理想情況下,您應該使用WebDriverWait()並等待元素可點擊

WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.wrapper >button:nth-of-type(1)"))).click()

您需要導入以下庫。

  from selenium.webdriver.common.by import By
  from selenium.webdriver.support.ui import WebDriverWait
  from selenium.webdriver.support import expected_conditions as EC

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM