web-dev-qa-db-fra.com

Comment localiser et insérer une valeur dans une zone de texte (entrée) en utilisant Python Selenium?

J'ai la structure HTML suivante et j'essaie d'utiliser Selenium pour entrer une valeur de 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>

Voici le code que j'ai écrit:

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"

Comment obtenir cet élément et entrer une valeur?

54
cppb

En supposant que votre page est disponible sous " http://example.com "

from Selenium import webdriver
from Selenium.webdriver.common.keys import Keys

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

Sélectionnez l'élément par identifiant:

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

Maintenant, vous pouvez simuler frapper ENTER:

inputElement.send_keys(Keys.ENTER)

ou si c'est un formulaire vous pouvez soumettre:

inputElement.submit() 
93
zero323