Введите значение в текстовое поле, используя Python и Selenium.Python

Программы на Python
Anonymous
Введите значение в текстовое поле, используя Python и Selenium.

Сообщение Anonymous »

У меня возникли проблемы с вводом значения в текстовое поле с использованием селена и Python. Я опробовал довольно много методов, но не смог добиться большого прогресса.
Вот как выглядит HTML-код веб-сайта (в частности, текстовое поле, в которое я хочу ввести значение). )

Код: Выделить всё

[i]  [/i]
Я сейчас пытаюсь ввести значение 11415 и сделал это

Код: Выделить всё

 WebDriverWait(driver, 20).until(EC.element_to_be_clickable(By.XPATH, "//input[@class='form-control' and @id='location']")).send_keys("11415")
Вот веб-сайт, если вы хотите его проверить:
https://www.fairhealthconsumer.org/medical/zip
А вот мой полный код для справки (закомментированный код — это другие попытки, которые я предпринял для решения этой проблемы!)

Код: Выделить всё

import selenium
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
import time
import os
from selenium.webdriver.common.action_chains import ActionChains

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

from selenium.webdriver.remote.webelement import WebElement
from selenium.webdriver.common.keys import Keys

s=Service('/Users/[name]/Desktop/chromedriver')

chromeOptions = Options()
chromeOptions.headless = False
driver = webdriver.Chrome(service=s, options=chromeOptions)

list_data = []

def initalize_browser():
# load website
driver.get("https://www.fairhealthconsumer.org/")
driver.maximize_window()

driver.find_element(By.XPATH, '//button[@class="mx-auto green-btn btnHref"]').click()

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, ".//*[@for='radio3']/span"))).click()
driver.find_element(By.XPATH, ".//*[@for='radio3']//span[@class='pt-2 border-top border-white']").click()

# inputElement = driver.find_element_by_id("location")
# inputElement.send_keys('11415')

# inputElement.send_keys(Keys.ENTER)

driver.find_element(By.XPATH, '//button[@class="button custom-bgcolor-secondary next selected"]').click()

# driver.find_element(By.XPATH, '//*[@id="location"]').click()
# driver.find_element(By.XPATH,'//text[@id="location"]').send_keys("11415")

# WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'location'))).send_keys('11415')
# button_to_be_clicked = browser.find_element(By.ID, 'button-submit')
# button_to_be_clicked.click()

WebDriverWait(driver, 20).until(EC.element_to_be_clickable(By.XPATH, "//input[@class='form-control' and @id='location']")).send_keys("11415")

print(driver.page_source)

initalize_browser()

driver.quit
Я просмотрел массу видео и прочитал несколько ответов о переполнении стека, но считаю, что синтаксис изменился, и я не нашел слишком много информации. Буду очень признателен за любую помощь, большое спасибо

Подробнее здесь: https://stackoverflow.com/questions/748 ... d-selenium

Вернуться в «Python»