簡體   English   中英

單擊一個按鈕在 python selenium 中顯示一個文本框

[英]Click a button to display a text box in python selenium

我正在嘗試單擊一個取消隱藏另一個文本框的按鈕。 單擊按鈕將腳本從

<span id="incident.u_brand_edit" style="display: none;">

<span id="incident.u_brand_edit" style>

以下是按鈕 HTML

<button class="btn btn-default btn-ref" type="button" aria-labelledby="incident.u_brand_title_text" 
data-target="#incident\.u_brand" title="" tabindex="0" id="incident.u_brand_unlock" 
data-type="glide_list_unlock" data-ref="incident.u_brand" data-auto-close="false" 
data-placement="auto" style="margin-right: 5px;" list-read-only="false" 
data-original-title="Unlock Brand"><span class="icon icon-locked" aria-hidden="true"></span></button>

我正在嘗試使用以下代碼來實現這一點

driver.find_element_by_id("incident.u_brand_unlock").click()

也試過這個

driver.find_element_by_id("incident.u_brand_unlock").send_keys("\n")

上面的代碼專注於按鈕,但它沒有點擊,文本框也沒有隱藏以執行進一步的操作。

嘗試在您的代碼中使用 ActionChains class,如下所示 -

# Import
from selenium.webdriver import ActionChains

wait = WebDriverWait(driver, 5)
action = ActionChains(driver)

Button_Click = wait.until(EC.element_to_be_clickable((By.ID, 'incident.u_brand_unlock')))
action.move_to_element(Button_Click).click().perform()

要單擊元素,您需要為element_to_be_clickable()誘導WebDriverWait ,您可以使用以下任一Locator Strategies

  • 使用CSS_SELECTOR

     WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.btn.btn-default.btn-ref[id$='u_brand_unlock'][data-original-title='Unlock Brand']>span"))).click()
  • 使用XPATH

     WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@class='btn btn-default btn-ref' and contains(@id, 'u_brand_unlock')][@data-original-title='Unlock Brand']/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