簡體   English   中英

試圖在元素中找到提交按鈕

[英]Trying to find submit button in elements

我正在嘗試用 python 編寫一個蒸汽機器人,該蒸汽機器人將在蒸汽組中發布;我在最后一步遇到問題,我找不到 sumbit 按鈕

<button type="submit" class="btn_green_white_innerfade btn_medium" id="commentthread_General_34191408_submit">
                                            <span>Post Discussion</span>
                                        </button>

要將帶有文本的提交按鈕標識為Post Discussion,您可以使用以下任一定位器策略

  • 使用CSS_SELECTOR

     element = driver.find_element_by_css_selector("button.btn_green_white_innerfade.btn_medium[id^='commentthread_General_'][id$='_submit']>span")
  • 使用XPATH

     element = driver.find_element_by_xpath("//button[@class='btn_green_white_innerfade btn_medium' and starts-with(@id, 'commentthread_General_')]/span[text()='Post Discussion']")

但是,由於它是一個提交按鈕,因此繼續前進,您將在其上調用click() ,因此您必須為element_to_be_clickable()引入WebDriverWait ,您可以使用以下任一解決方案:

  • 使用CSS_SELECTOR

     WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.btn_green_white_innerfade.btn_medium[id^='commentthread_General_'][id$='_submit']>span"))).click()
  • 使用XPATH

     WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@class='btn_green_white_innerfade btn_medium' and starts-with(@id, 'commentthread_General_')]/span[text()='Post Discussion']"))).click()
  • 注意:您必須添加以下導入:

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

這是你的按鈕,100% 有效。 我在當地查過。

driver.find_element(By.XPATH, "//button[@type='submit']")

暫無
暫無

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

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