पायथन सेलेनियम का उपयोग करके टेक्स्ट बॉक्स (इनपुट) में मान कैसे खोजें और डालें?


88

मेरे पास निम्नलिखित HTML संरचना है और मैं सेलेनियम का उपयोग करने का प्रयास कर रहा हूं NUM:

<div class="MY_HEADING_A">
    <div class="TitleA">My title</div>
    <div class="Foobar"></div>
        <div class="PageFrame" area="W">                
             <span class="PageText">PAGE <input id="a1" type="txt" NUM="" />  of <span id="MAX"></span> </span>
</div>

यहाँ कोड मैंने लिखा है:

head = driver.find_element_by_class_name("MY_HEADING_A")
frame_elem = head.find_element_by_class_name("PageText")

# Following is a pseudo code. 
# Basically I need to enter a value of 1, 2, 3 etc in the textbox field (NUM) 
# and then hit RETURN key.
## txt  = frame_elem.find_element_by_name("NUM")
## txt.send_keys(Key.4)

इस तत्व को कैसे प्राप्त करें और एक मूल्य दर्ज करें?

जवाबों:


151

मान लें कि आपका पृष्ठ " http://example.com " के अंतर्गत उपलब्ध है

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("http://example.com")

आईडी द्वारा तत्व का चयन करें:

inputElement = driver.find_element_by_id("a1")
inputElement.send_keys('1')

अब आप ENTER मारना अनुकरण कर सकते हैं:

inputElement.send_keys(Keys.ENTER)

या अगर यह एक फार्म है जिसे आप जमा कर सकते हैं:

inputElement.submit() 

3
ElementNotInteractableException: संदेश: तत्व
शेषांक S.

कीबोर्ड द्वारा
पठनीय

3
आपको बातचीत से पहले तत्व के मौजूद होने का इंतजार करना चाहिए। input_element = WebDriverWait (ड्राइवर, WAIT_TIME) .until (EC.visibility_of_element_located (By.CSS_SELECTOR, "# a1")) input_element.send_keys ("1")
Wildhammer
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.