تصريحات رخيصة ، ماذا يمكن أن يكون أفضل؟
الروماني Andreyevich Kartsev لديه
مناجاة جيدة عن جراد البحر أمس لمدة 5 روبل. واليوم لمدة 3. نحن نفترض أن آخر مشاركة كانت حول جراد البحر لمدة 5 روبل. لأن المقتطف من USRN هو 300 روبل لكل منهما ، على الرغم من أنه لا يمكن للجميع تحمل كلفته ، إذا كان الأمر يتعلق بالطلبات الجماعية.
هذه المرة ، فكر في كيفية الحصول على نفس النتيجة من خلال إنفاق 400 روبل. ل 100 مقتطفات من USRN. سيقوم برنامجنا بمعالجة بسيطة ، انتقل إلى الموقع ، وقم بملء جميع الحقول اللازمة عند تقديم طلب إلى Rosreestr. مثل آخر مرة ، لن نستخدم Rosreestr api.
سيبدو شيء مثل هذا:
تفترض بوابة Rosreestra أنه عند العمل مع FSIS ، ستتلقى مفتاحًا على البوابة - سلسلة أحرف رقمية. يتم إدخال هذا المفتاح لمرة واحدة عند العمل مع خدمة معلومات الولاية الفيدرالية لإدخال مساحة العمل وهو موجود في قسم مفاتيحي:

نحن نفترض أنك تلقيت المفتاح بنفسك. إجراءات الحصول عليها ليست معقدة.
الآن دعنا نكتب برنامجًا يقوم بأتمتة تقديم الطلبات.
لنبدأ ببرنامج بسيط يقدم طلبًا واحدًا للنظام.
الطلبات في USRN - الإصدار 2.0
وحدات الاستيراد:
import webbrowser,time from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.common.exceptions import NoSuchElementException import os
نذهب إلى موقع FSIS USRN:
browser = webdriver.Firefox() browser.implicitly_wait(40) browser.get ('https://rosreestr.ru/wps/portal/p/cc_present/ir_egrn')
سيتم الترحيب بنا من خلال نافذة ودية لإدخال مفتاح Rosreestr ، والذي تمت مناقشته أعلاه:

نحدد محدد CSS للنافذة حيث تريد إدخال المفتاح ، وأدخل المفتاح وانتقل إلى FSIS USR بالنقر فوق الزر "تسجيل الدخول":
act = browser.find_element_by_css_selector('.v-panel-content > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > input:nth-child(1)') for i in '---------': act.send_keys(i) time.sleep(2) act = browser.find_element_by_css_selector('.v-panel-content > div:nth-child(1) > div:nth-child(1) > div:nth-child(3) > div:nth-child(1) > input:nth-child(1)') for i in '----': act.send_keys(i) time.sleep(2) act = browser.find_element_by_css_selector('.v-panel-content > div:nth-child(1) > div:nth-child(1) > div:nth-child(5) > div:nth-child(1) > input:nth-child(1)') for i in '----': act.send_keys(i) time.sleep(2) act = browser.find_element_by_css_selector('.v-panel-content > div:nth-child(1) > div:nth-child(1) > div:nth-child(7) > div:nth-child(1) > input:nth-child(1)') for i in '----': act.send_keys(i) time.sleep(2) act = browser.find_element_by_css_selector('.v-panel-content > div:nth-child(1) > div:nth-child(1) > div:nth-child(9) > div:nth-child(1) > input:nth-child(1)') for i in '--------': act.send_keys(i) time.sleep(2) act = browser.find_element_by_css_selector('.v-button-normalButton > span:nth-child(1) > span:nth-child(1)') act.click() time.sleep(2)
تحتاج هنا إلى إدخال أجزاء من مفتاحك في الحقول برموز "-" ، لأن البرنامج سيدخلها على الموقع في أجزاء ، ويقفز فوق الحقول.
إذا نجح كل شيء بنجاح ، فسوف ندخل في نافذة النظام:

بما أننا سنبحث عن العقارات ، يجب أن ينقر البرنامج على "Search for real estate" ، على التوالي:
act = browser.find_element_by_css_selector('.v-gridlayout-margin > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > span:nth-child(1) > span:nth-child(2)') act.click() time.sleep(1)
الآن سنقوم بإدخال رقم المساحية في الحقول المناسبة والإشارة إلى المنطقة للبحث. بدون إدخال بيانات في المنطقة ، لا يمكنك المتابعة إلى الخطوة التالية:
act = browser.find_element_by_css_selector('.v-verticallayout-searchFormOuter > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > input:nth-child(1)') act.click() for i in '66:36:2801001:223': act.send_keys(i) act = browser.find_element_by_css_selector('.v-filterselect-error > input:nth-child(1)') act.click() for i in ' ': act.send_keys(i) time.sleep(5) act.send_keys(Keys.ENTER) act = browser.find_element_by_css_selector('.v-horizontallayout-borderTop > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > span:nth-child(1) > span:nth-child(1)') act.click()
النافذة التالية:

تحتاج هنا إلى النقر فوق الكائن الذي تم تكوينه في أسفل الصفحة ، قم بذلك:
act = browser.find_element_by_css_selector('.v-table-table') act.click()
ونصل إلى الخطوة الأخيرة ، حيث التقينا مرة أخرى بواسطة كلمة التحقق. نحتاج أيضًا إلى النقر فوق زر إرسال الطلب:

أدخل كلمة التحقق باستخدام المترجم يدويًا. حتى الآن ، نحن نستخدم طريقة "الالتفاف" على كلمة التحقق:
act = browser.find_element_by_css_selector('.v-textfield') act.click() i=input(" ENTER: ") for a in i: act.send_keys(a) time.sleep(1) act.send_keys(Keys.ENTER)
* هذا يعني أن البرنامج سينتظر حتى يقوم المستخدم بإدخال كلمة التحقق يدويًا في النافذة بالضغط على البرنامج "enter".
علاوة على ذلك ، يرسل البرنامج نفسه طلبًا إلى سجل فحص ملكية الولاية الفيدرالية:
act = browser.find_element_by_css_selector('.v-horizontallayout-blockNotTall > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > span:nth-child(1) > span:nth-child(1)') act.click() time.sleep(3)
والنقر على "متابعة العمل":

لقد قدمنا بنجاح طلبًا لكائن واحد.
يمكنك التحقق من أن الطلب قد تم بالفعل إرساله بنجاح إلى FSIS في قسم "طلباتي" ، والتي نعلم بها.
نحن الآن بحاجة إلى بدء دورة البرنامج لجميع الكائنات في جدول excel و ... هزيمة كلمة التحقق بطريقة أو بأخرى. ومع ذلك ، هذه قصة مختلفة تماما. على الرغم من أن تلميح بقي في رمز البرنامج ، وتحميلها إلى المبادل.
قم بتنزيل البرنامج -
هنا .