簡體   English   中英

Python Selenium“元素不可交互”錯誤消息

[英]Python Selenium "element not interactable" error message

我是 Selenium 的新手,並試圖自動輸入數據。 我試圖獲取 ID,然后單擊文本框發送數據,但我不斷收到錯誤消息。 我也試過 Xpath 但它似乎沒有用。

這是我的代碼。

    product = driver.find_element_by_id("(improved-inventory/js/extension-providers/ItemComboBox_0)[2]")
    product.click()
    product.send_keys("027459087093")
    product.send_keys(Keys.RETURN)

任何幫助,將不勝感激。 這是 HTML 我當前從輸入 Class 獲取 id。 當我調用 product.isdisplayed() 它打印錯誤。

<div class="dijitInline dijitTextBox dijitComboBox quickfill qfComboBox dijitValidationTextBox"
id="widget_improved-inventory/js/extension-providers/ItemComboBox_0" 
role="combobox" aria-haspopup="true" data-dojo-attach-point="_popupStateNode" widgetid="improved-inventory/js/extension-providers/ItemComboBox_0" 
aria-disabled="false" aria-owns="improved-inventory/js/extension-providers/ItemComboBox_0_popup" > == $0

<input class="dijitReset dijitInputInner" type="text" autocomplete="off" 
data-dojo-attach-point="textbox,focusNode" role ="textbox" placeholder="Enter   Text" 
tabindex="0" id="improved-inventory/js/extension-providers/ItemComboBox_0" value aria-label="Enter Text:" aria-invalid="false" aria-disabled="false">

嘗試等到輸入字段可點擊:

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

wait = WebDriverWait(driver, timeout=30)
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".dijitReset.dijitInputInner")))
product = driver.find_element_by_css_selector(".dijitReset.dijitInputInner")
product.click()
product.send_keys("027459087093")
product.send_keys(Keys.RETURN)

另外,修復您的定位器。

暫無
暫無

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

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