![](/img/trans.png)
[英]How to click html 'button class' using selenium at python
[英]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.