Я пытаюсь заполнить форму на сайте почтовыми индексами в файле Excel с именем post.xlsx. Я успешно построил аналогичную версию в Excel VBA.
Как вы можете найти ниже
Option Explicit
...
While (Len(Range("A" & count)) > 0)
Driver.Get "https://app.eservice.eld.gov.sg/voter/postalcodeenquiry.aspx"
Driver.FindElementById("ctl00_ContentPlaceHolder1_txtPostalCode").SendKeys Range("A" & count)
'Driver.FindElementByClass("recaptcha-checkbox-border").Click
Driver.Wait 1000
Driver.FindElementById("ctl00_ContentPlaceHolder1_btnCheck").Click
On Error Resume Next
Range("B" & count) = Driver.FindElementById("ctl00_ContentPlaceHolder1_lblEDDisplay").Text
count = count + 1
Wend
Driver.Quit
End Sub
Вот копия листа - https://docs.google.com/spreadsheets/d/1RHElfhQb12eSamsP7U9CzlCW68DhJUNWDu26IDrqiSc/edit?usp=sharing
Теперь яЯ хочу, чтобы версия Python этого кода работала и, возможно, выводил результат в csv. Я понимаю, что селен и панда могут справиться с работой, но пока не могу найти способ заставить их работать. Вот код Python, который я пытаюсь.
import selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.wait import WebDriverWait
import pandas as pd
# Import the driver of Chrome and target url
driver = webdriver.Chrome()
driver.get('https://app.eservice.eld.gov.sg/voter/postalcodeenquiry.aspx')
df = pd.read_excel('C:\Users\user\Desktop\webscrapy\post.xlsx')
sheet_postals = df['Postals']
for postal in sheet_postals:
driver.find_element_by_id("ctl00_ContentPlaceHolder1_txtPostalCode").send_keys(year)
driver.find_element_by_id("ctl00_ContentPlaceHolder1_btnCheck").click()
#print in csv
Любая помощь, чтобы заставить этот код Python работать, заполнив форму с почтовыми кодами и выведя CSV, будет высоко оценена.