簡體   English   中英

如何使用 Selenium 和 Python 在 yahoo 頁面上單擊“郵件”按鈕

[英]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:消息:無效選擇器:指定了無效或非法選擇器有人知道這是為什么嗎?

按鈕截圖:

html

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.

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