[英]How to click on the “Mail” button on the yahoo page using Selenium and Python
我得到了這些按鈕的BUTTON變量:
GoMailsBTN = browser.find_element_by_class_name("D(ib) Fz(14px) Fw(b) Lh(24px) Pstart(38px)")
GoMailsBTN.click()
並且沒有任何 id 你可以 go 如果你想自己檢查一下! 這是彈出的錯誤selenium.common.exceptions.InvalidSelectorException:消息:無效選擇器:指定了無效或非法選擇器有人知道這是為什么嗎?
按鈕截圖:
class 名稱是動態的並且可以更改,在這種情況下,您可以使用 xpath:
browser.find_element_by_xpath("//li//a[contains(@href ,'mail') and not(@id)]")
所需的元素是啟用JavaScript的元素,因此要單擊元素,您必須為element_to_be_clickable()
誘導WebDriverWait並且您可以使用以下任一定位器策略:
使用CSS_SELECTOR
:
driver.get('https://in.yahoo.com/?p=us') WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a#header-mail-button span"))).click()
使用XPATH
:
driver.get('https://in.yahoo.com/?p=us') WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[@id='header-mail-button']//span"))).click()
注意:您必須添加以下導入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
瀏覽器快照:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.