Voici la page. Il est nécessaire de retirer une entrée de celui-ci p> et entrez un autre texte dans. P> J'ai essayé de le faire via ID, via XPATH, à travers @name. Quel pourrait être le problème? P> < img src = "https://i.stack.imgur.com/ktzc8.png" alt = "Entrez la description de l'image ici"> p> p>
3 Réponses :
Votre élément est situé dans la balise HTML Iframe. Vous devez passer à l'iframe (iframeresizer0 dans le lien que vous avez fourni):
driver.SwitchTo().Frame(driver.FindElement(By.Id("iFrameResizer0")));
... do your find here.
// switch back to default
driver.DefaultContent();
obtenu:
driver.switch_to_frame("iFrameResizer0")
driver.find_elements_by_name('paymentAmount')
Il y a iframe, vous devez vous allumer, attendre que le chargeur disparaisse, supprimez une valeur ancienne dans l'entrée et de régler la vôtre.
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome()
wait = WebDriverWait(driver, 20)
driver.get("https://www.xendpay.com/")
wait.until(EC.frame_to_be_available_and_switch_to_it((By.ID, "iFrameResizer0")))
wait.until(EC.invisibility_of_element_located((By.CLASS_NAME, "loader")))
payment_amount = wait.until(EC.element_to_be_clickable((By.ID, "paymentAmount")))
ActionChains(driver).double_click(payment_amount).send_keys(Keys.DELETE).send_keys("999").perform()
C'est une très belle
J'entre la page et je n'ai même pas trouvé d'élément avec cet identifiant et cet identifiant. Utilisation: len (pilote.find_elements_by_name ('PaymentAmount')) i> b> J'ai 0 éléments avec cet identifiant et cet identifiant, dites-en un peu plus
Je ne vois pas non plus, mais il y en a un sur la page. Ce bloc est chargé à l'aide de JS