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