Введите номер потребителя и выберите регион, go на следующую страницу, загрузите PDF. Вот шаги, которые я пытаюсь автоматизировать.
Я пытаюсь загрузить файл PDF, который, кажется, встроен в iFrame, это правильный путь для этого:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get(
"http://www.kseb.in/index.php?option=com_wrapper&view=wrapper&Itemid=813&lang=en")
WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it(
(By.XPATH, "//iframe[contains(@src, 'ksebuser/orumabills/upload/billview/')]")))
WebDriverWait(driver, 10).until(EC.element_to_be_clickable(
(By.XPATH, "//input[@class='userInputText']"))).send_keys("11230")
WebDriverWait(driver, 10).until(EC.element_to_be_clickable(
(By.ID, "office"))).send_keys("adoor")
WebDriverWait(driver, 10).until(EC.element_to_be_clickable(
(By.NAME, "b_submit_0"))).submit()
WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it(
(By.XPATH, "//iframe[contains(@src, 'ksebuser/orumabills/upload/billview/bill_view_click.php')]")))
# print(driver.current_url)
# WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it(
# (By.XPATH, "//iframe[contains(@src, 'ksebuser/orumabills/upload/billview/bill_view_click.php')]")))
WebDriverWait(driver, 10).until(EC.element_to_be_clickable(
(By.ID, "download"))).click()
Это не работает. Знаешь причину почему?