TPBGovAu
Project:
Ezy.Module.Selenium.Search.TPBGovAuFile chính:TPBGovAu.cs
Tra cứu đăng ký đại lý thuế trên Tax Practitioners Board register (site công khai).
Nguồn
- URL nạp từ
Setting.json. Site công khai:tpb.gov.au(TPB Register).
Input
Bảng TextSearch_TPBGovAu. Module đọc các trường: FirstName, RegistrationNumber, LegalName, Suburb, LastName, Business_TradingName, State.
:::note Lưu ý không khớp schema
Entity auto-gen TextSearch_TPBGovAu.cs hiện chỉ khai báo RegistrationNumber, Suburb, State, NameOrABN, PractitionerType, RegistrationStatus. Các trường FirstName/LastName/LegalName/Business_TradingName được scraper tham chiếu nhưng không có trong entity hiển thị → có thể schema DB thực khác bản auto-gen. Cần lưu ý khi đọc code.
:::
Login / Captcha
Không.
Các bước scrape
- Navigate URL, sleep 5s.
- Điền lần lượt 7 ô input nếu có giá trị (
isSearch=true). - Click
ButtonSearch; di chuột tớiHelpFooterđể cuộn. - Lưu
baseUrl, lặpcount→NoOfDetailEachSearch: lấy linkBusiness_TradingNameLink(Displayed & có Text), click cái thứcount, sleep 5s. GetDataFromWebsite: đọccolumns→ set propertyTextSearch_Data_TPBGovAuqua reflection.- Nếu có
RegistrationNumber: chụp screenshot →ImageURLs; di chuộtBackToSearch. - Update/Insert theo
RegistrationNumber— không checkIsDifference, luôn update nếu đã tồn tại.
Output
Entity TextSearch_Data_TPBGovAu. Khóa = RegistrationNumber. Trường: LegalName, Practice_TradingName, RegistrationType/Number/Status/Date/ExpiryDate, BusinessAddress, Conditions, Suspensions, Sanctions, Disqualification, Termination, ProfessionalAssociations, ABN, ImageURLs, PdfURLs, ScreenshotImageURLs, LinkToDetail. Screenshot có; PDF có cột nhưng không gọi DownloadPDF trong file này.
Lỗi / edge cases
- Try/catch +
Log_Exceptionở mọi nhánh thiếu setting/input. - Cột không tồn tại (nếu
IsIgnoreLogthì bỏ qua) → log. - Bug nhỏ:
sMessagekhông bao giờ được gán trongcatch, nên khối ghi"Search Fail"thực tế không bao giờ chạy.
Trạng thái: active.