Selenium не может очистить контент с динамического сайтаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Selenium не может очистить контент с динамического сайта

Сообщение Anonymous »

Я пытаюсь очистить контактные данные по синим ссылкам по этому поводу. Я хочу сценарий: < /p>

Нажмите на ссылку № по системе воды (например, KS2000302), чтобы открыть детальную страницу < /li>
Извлечение информации из таблицы под названием Water System Contacts (например. Страницы системы водоснабжения используют один и тот же URL:
https://dww.kdhe.ks.gov/dww/jsp/watersystemdetail.jsp
, поэтому я не могу просто построить уникальные URL. Я попытался использовать селен для навигации и сбрасывания, но мой скрипт терпит неудачу с TimeoutException. < /P>
Вещи, которые я пробовал: < /p>

увидел открытый автоматический браузер, но он пришел и закрыт, не щелкнув все < /li>
Пробовал для Frames. "iframe"), но он вернулся 0 < /li>
< /ul>
Как я могу соскрести контактную информацию из систем водоснабжения округа, если все они используют один и тот же URL? Поле из каждой системы водоснабжения: < /p>
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import csv
import time

# --- set up Chrome ---
driver = webdriver.Chrome() # ← start without --headless while you test
driver.maximize_window()

url = ("https://dww.kdhe.ks.gov/DWW/JSP/WaterSystems.jsp?"
"PointOfContactType=none&RegulatingAgency=All&number=&name=&county=Anderson")
driver.get(url)

# 1️⃣ Switch into the frame that actually holds the table
# The KDHE pages use a frameset: banner | sidebar | content.
# The content frame is usually the third one.
WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it(2))
# (If that fails, try 1 or By.NAME("content"))

# 2️⃣ Wait for the data table
table = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH, "//table[contains(@class,'Data')]"))
)

rows = driver.find_elements(By.XPATH, "//table[contains(@class,'Data')]/tbody/tr")[1:]

results = []

for i in range(len(rows)):
rows = driver.find_elements(By.XPATH, "//table[contains(@class,'Data')]/tbody/tr")[1:]
link = rows.find_element(By.TAG_NAME, "a")
ws_number = link.text.strip()
ws_name = rows.find_elements(By.TAG_NAME, "td")[1].text.strip()

print(f"\n🔍 {ws_name} ({ws_number}) …")
link.click()

# after clicking we’re still inside the same frame
WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH, "//td[contains(text(),'Alternate State No.')]"))
)
alt_state_no = driver.find_element(
By.XPATH,
"//td[contains(text(),'Alternate State No.')]/following-sibling::td"
).text.strip()

print(f" → Alt State No.: {alt_state_no}")
results.append([ws_name, ws_number, alt_state_no])

driver.back()
time.sleep(1) # brief pause so the table reloads

# save CSV
with open("anderson_alternate_state_numbers.csv", "w", newline="") as f:
writer = csv.writer(f)
writer.writerow(["Water System Name", "System No.", "Alternate State No."])
writer.writerows(results)

print("\n✅ Saved anderson_alternate_state_numbers.csv")
driver.quit()



Подробнее здесь: https://stackoverflow.com/questions/796 ... namic-site
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Selenium не может очистить контент с динамического сайта
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Как очистить отфильтрованный контент с веб-сайта
    Anonymous » » в форуме Python
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Как извлечь контент или очистить наборы данных с исходной страницы веб-сайта
    Anonymous » » в форуме Php
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Selenium.webdriver.Firefox загрузил и отобразил контент, но страница все еще загружает фоновый контент
    Anonymous » » в форуме Python
    0 Ответы
    54 Просмотры
    Последнее сообщение Anonymous
  • Получите информацию с сайта, используя Selenium, без симулятора веб -сайта [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

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