Python selenium 시 뮬 레이 션 페이지 클릭 파충류 관리 12123 규정 위반 데이터

20764 단어 Pythonselenium파충
지난 글 에서'파 이 썬 튜 토리 얼-아 날로 그 홈 페이지 클릭 파충류 포 지 셔 닝 시스템'은 아 날로 그 클릭 방식 으로 차량 포 지 셔 닝 데 이 터 를 기어 오 르 는 방법 을 설명 했다.이번 에는 아 날로 그 클릭 방식 으로 교통 관리 12123 에 들 어가 차량 의 규정 위반 데 이 터 를 기어 오 르 는 방법 을 소개 한다.본 고 는 과정 을 직접 설명 하고 사용 하 는 명령 해석 은 지난 글 을 참조 한다.본 고 는 파 이 썬 튜 토리 얼-모 의 홈 페이지 클릭 파충류 포 지 셔 닝 시스템 과 마찬가지 로 기업 의 실제 파충류 사례 로 나중에 자동차 기업 업계 에 들 어가 고 싶다 면 알 아 볼 수 있다.
준비 도구:spyder,selenium 라 이브 러 리,google 브 라 우 저 및 해당 버 전의 chromedriver.exe
효과.

주:이 사례 를 공유 하 는 목적 은 동업자 들 이 두 손 을 해방 시 키 고 기업 자산 을 잘 관리 하도록 돕 기 위해 서 입 니 다.본 고 는 사이트 주소,계 정 비밀 번 호 를 삭제 하 는 것 입 니 다.이 사이트 가 비교적 번 거 로 운 점 은 로그 인 을 클릭 할 때 웹 페이지 에 다른 팝 업 창 이 나타 날 수 있 고 원래 의 경 로 를 바 꿀 수 있 습 니 다.프로그램 은 대응 하 는 경 로 를 찾 지 못 해서 오 류 를 보고 하고 프로그램 을 다시 실행 하면 됩 니 다.아 날로 그 클릭 으로 로그 인 하 는 것 외 에 도 쿠키 를 통 해 직접 웹 페이지 에 로그 인 할 수 있 는 방식 으로 로그 인의 번 거 로 운 절 차 를 우회 할 수 있다.
호출 라 이브 러 리

from selenium import webdriver
import time
import csv
import datetime
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
import math
import xlrd
조회 할 차 번 호 를 읽 습 니 다.

data = xlrd.open_workbook('cheliang.xlsx')
탐색 만 들 기,웹 페이지 열기

opt = webdriver.ChromeOptions()   #    
#opt.set_headless()    #     
driver = webdriver.Chrome(options=opt)  #       
driver.maximize_window()   #     
​
print("      ")
driver.get('') #    
순서대로 단위 로그 인,계 정,비밀 번 호 를 입력 하고 인증 코드 를 클릭 하여 지역 트리거 이미지,체크,인증 코드 입력,로그 인 을 클릭 합 니 다.

time.sleep(3)     #    
print("      ")
time.sleep(3)     #    
driver.find_element_by_xpath("/html/body/div[1]/div[2]/div/div[2]/div[2]/button").click()#      
​
time.sleep(3)     #    
print("      ")
elem = driver.find_element_by_xpath("/html/body/div[4]/div/div[1]/div/div[2]/form[1]/div[1]/div/input")
#       
elem.clear()
#     
elem.send_keys("")
​
time.sleep(1)     #    
print("      ")
elem = driver.find_element_by_xpath("/html/body/div[4]/div/div[1]/div/div[2]/form[1]/div[2]/div/input")
#       
elem.clear()
#     
elem.send_keys("")
​
time.sleep(1)     #    
print("       ")
driver.find_element_by_xpath("/html/body/div[4]/div/div[1]/div/div[2]/form[1]/div[3]/div/input").click()#     
print("      ")
yanzhengma=input()
​
time.sleep(1)     #    
driver.find_element_by_xpath("/html/body/div[4]/div/div[1]/div/div[2]/form[1]/div[4]/div/label/input").click()#  
​
time.sleep(1)     #    
#      
elem = driver.find_element_by_xpath("/html/body/div[4]/div/div[1]/div/div[2]/form[1]/div[3]/div/input")
elem.clear()
elem.send_keys(str(yanzhengma))
​
time.sleep(1)     #    
print("    ")
driver.find_element_by_xpath("/html/body/div[4]/div/div[1]/div/div[2]/form[1]/div[5]/button").click()#  
클릭 하여 불법 조회,조회 시간 설정

driver.find_element_by_xpath("/html/body/div[4]/div/div[1]/div/div[2]/form[1]/div[5]/button").click()#  
 
time.sleep(3)     #    
driver.find_element_by_xpath("/html/body/div[4]/div/div[1]/ul/li[5]/a").click()#      
 
time.sleep(1)     #    
driver.find_element_by_xpath("/html/body/div[3]/div/div[2]/div[1]/div[2]/form/div[1]/div/div[1]/span/i").click()#      
 
for i in range(3):
    time.sleep(0.5)     #    
    driver.find_element_by_xpath("/html/body/div[6]/div[4]/table/thead/tr/th[1]/i").click()#  
 
time.sleep(0.5)     #    
driver.find_element_by_xpath("/html/body/div[6]/div[4]/table/tbody/tr/td/span[1]").click()#  
 
time.sleep(0.5)     #    
driver.find_element_by_xpath("/html/body/div[6]/div[3]/table/tbody/tr[2]/td[1]").click()#  
각 번호판 의 규정 위반 정 보 를 순서대로 조회 하고 매번 에 지난번 입력 을 비 워 야 한다.이번 조회 번호판 을 작성 하고 몇 개의 데이터 가 있 는 지 식별 해 야 한다.모두 몇 페이지 이 고 각 페이지 는 최대 10 개 를 보 여 주 며 마지막 페이지 는 몇 개의 데이터 가 있 는 지 알 아야 한다.

for ii in range(0,nrows):
    rowValues= table.row_values(ii) #     
    print('     '+str(ii+1)+'  ')
#     
    time.sleep(0.5)     #    
    elem = driver.find_element_by_xpath("/html/body/div[3]/div/div[2]/div[1]/div[2]/form/div[3]/div/input")
    elem.clear()
    elem.send_keys(rowValues)#    
    time.sleep(0.1)     #    
    driver.find_element_by_xpath("/html/body/div[3]/div/div[2]/div[1]/div[2]/form/div[4]/button").click()#    
    time.sleep(0.5)     #    
    result=driver.find_element_by_xpath("/html/body/div[3]/div/div[2]/div[2]/div[1]/div/p/span").text#     
    result=int(result)
    a=math.ceil(result/10)#   
    b=result%10 #  
목록 의 데 이 터 를 읽 습 니 다.감점 과 벌금 은'자세 한 내용 보기'를 누 르 고 팝 업 창 에서 데 이 터 를 읽 어야 합 니 다.

result1=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[1]"))).text
result2=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[2]"))).text
result3=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[3]"))).text
result4=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[4]"))).text
result5=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[5]"))).text
result6=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[6]"))).text
result7=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[7]"))).text
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[8]/a"))).click()#    ,    
time.sleep(1)     #    
result8=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//form[@class='form-horizontal']/div[7]/span[2]"))).text
result9=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//form[@class='form-horizontal']/div[8]/span[2]"))).text
result=[result1,result2,result3,result4,result5,result6,result7,result8,result9]
R.append(result)
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//div[@class='modal-footer ui_modal']/button"))).click()#    
time.sleep(0.5)     #    
차 한 대의 데 이 터 를 읽 을 때마다 표 에 기록 합 니 다.

with open(wenjian,'w',encoding='utf-8',newline='') as fp:
    writer = csv.writer(fp)
    writer.writerows(R) #    
전체 코드

from selenium import webdriver
import time
import csv
import datetime
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
import math
import xlrd
data = xlrd.open_workbook('cheliang.xlsx')
table = data.sheets()[0]
nrows = table.nrows #  
ncols = table.ncols #  
 
opt = webdriver.ChromeOptions()   #    
#opt.set_headless()    #     
driver = webdriver.Chrome(options=opt)  #       
driver.maximize_window()   #     
 
print("      ")
driver.get('') #    
 
time.sleep(3)     #    
print("      ")
time.sleep(3)     #    
driver.find_element_by_xpath("/html/body/div[1]/div[2]/div/div[2]/div[2]/button").click()#      
 
time.sleep(3)     #    
print("      ")
elem = driver.find_element_by_xpath("/html/body/div[4]/div/div[1]/div/div[2]/form[1]/div[1]/div/input")
#       
elem.clear()
#     
elem.send_keys("")
 
time.sleep(1)     #    
print("      ")
elem = driver.find_element_by_xpath("/html/body/div[4]/div/div[1]/div/div[2]/form[1]/div[2]/div/input")
#       
elem.clear()
#     
elem.send_keys("")
 
time.sleep(1)     #    
print("       ")
driver.find_element_by_xpath("/html/body/div[4]/div/div[1]/div/div[2]/form[1]/div[3]/div/input").click()#     
print("      ")
yanzhengma=input()
 
time.sleep(1)     #    
driver.find_element_by_xpath("/html/body/div[4]/div/div[1]/div/div[2]/form[1]/div[4]/div/label/input").click()#  
 
time.sleep(1)     #    
#      
elem = driver.find_element_by_xpath("/html/body/div[4]/div/div[1]/div/div[2]/form[1]/div[3]/div/input")
elem.clear()
elem.send_keys(str(yanzhengma))
 
 
time.sleep(1)     #    
print("    ")
driver.find_element_by_xpath("/html/body/div[4]/div/div[1]/div/div[2]/form[1]/div[5]/button").click()#  
 
time.sleep(3)     #    
driver.find_element_by_xpath("/html/body/div[4]/div/div[1]/ul/li[5]/a").click()#      
 
time.sleep(1)     #    
driver.find_element_by_xpath("/html/body/div[3]/div/div[2]/div[1]/div[2]/form/div[1]/div/div[1]/span/i").click()#      
 
for i in range(3):
    time.sleep(0.5)     #    
    driver.find_element_by_xpath("/html/body/div[6]/div[4]/table/thead/tr/th[1]/i").click()#  
 
time.sleep(0.5)     #    
driver.find_element_by_xpath("/html/body/div[6]/div[4]/table/tbody/tr/td/span[1]").click()#  
 
time.sleep(0.5)     #    
driver.find_element_by_xpath("/html/body/div[6]/div[3]/table/tbody/tr[2]/td[1]").click()#  
 
wenjian=datetime.datetime.now().strftime('%Y-%m-%d-%H%M%S') #                 
wenjian=wenjian+'.csv'
 
R=[]
for ii in range(0,nrows):
    rowValues= table.row_values(ii) #     
    print('     '+str(ii+1)+'  ')
    #     
    time.sleep(0.5)     #    
    elem = driver.find_element_by_xpath("/html/body/div[3]/div/div[2]/div[1]/div[2]/form/div[3]/div/input")
    elem.clear()
    elem.send_keys(rowValues)#    
    time.sleep(0.1)     #    
    driver.find_element_by_xpath("/html/body/div[3]/div/div[2]/div[1]/div[2]/form/div[4]/button").click()#    
    time.sleep(0.5)     #    
    result=driver.find_element_by_xpath("/html/body/div[3]/div/div[2]/div[2]/div[1]/div/p/span").text#     
    result=int(result)
    a=math.ceil(result/10)#   
    b=result%10 #  
    
    for i in range(1,a):
        for j in range(1,11):
            
            result1=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[1]"))).text
            result2=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[2]"))).text
            result3=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[3]"))).text
            result4=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[4]"))).text
            result5=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[5]"))).text
            result6=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[6]"))).text
            result7=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[7]"))).text
            #result1=driver.find_element_by_xpath("//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[1]").text
            #result2=driver.find_element_by_xpath("//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[2]").text
            #result3=driver.find_element_by_xpath("//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[3]").text
            #result4=driver.find_element_by_xpath("//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[4]").text
            #result5=driver.find_element_by_xpath("//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[5]").text
            #result6=driver.find_element_by_xpath("//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[6]").text
            #result7=driver.find_element_by_xpath("//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[7]").text
            WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[8]/a"))).click()#    ,    
            time.sleep(1)     #    
            #driver.find_element_by_xpath("//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[8]/a").click()#        
            #time.sleep(0.5)     #    
            result8=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//form[@class='form-horizontal']/div[7]/span[2]"))).text
            result9=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//form[@class='form-horizontal']/div[8]/span[2]"))).text
            #result8=driver.find_element_by_xpath("//form[@class='form-horizontal']/div[7]/span[2]").text
            #result9=driver.find_element_by_xpath("//form[@class='form-horizontal']/div[8]/span[2]").text
            result=[result1,result2,result3,result4,result5,result6,result7,result8,result9]
            R.append(result)
            WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//div[@class='modal-footer ui_modal']/button"))).click()#    
            time.sleep(0.5)     #    
            #driver.find_element_by_xpath("//div[@class='modal-footer ui_modal']/button").click()#        
            #time.sleep(0.5)     #    
            
        driver.find_element_by_link_text("   ").click()#  
        time.sleep(0.5)     #       
        
    if b>0:
        for j in range(1,b+1):
            result1=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[1]"))).text
            result2=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[2]"))).text
            result3=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[3]"))).text
            result4=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[4]"))).text
            result5=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[5]"))).text
            result6=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[6]"))).text
            result7=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[7]"))).text
            WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[8]/a"))).click()#    ,    
            time.sleep(1)     #    
            result8=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//form[@class='form-horizontal']/div[7]/span[2]"))).text
            result9=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//form[@class='form-horizontal']/div[8]/span[2]"))).text
            result=[result1,result2,result3,result4,result5,result6,result7,result8,result9]
            R.append(result)
            WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//div[@class='modal-footer ui_modal']/button"))).click()#    
            time.sleep(0.5)     #    
 
    if b==0:
        for j in range(1,11):
            result1=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[1]"))).text
            result2=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[2]"))).text
            result3=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[3]"))).text
            result4=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[4]"))).text
            result5=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[5]"))).text
            result6=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[6]"))).text
            result7=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[7]"))).text
            WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//table[@id='my-msg-list']/tbody/tr["+str(j)+"]/td[8]/a"))).click()#    ,    
            time.sleep(1)     #    
            result8=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//form[@class='form-horizontal']/div[7]/span[2]"))).text
            result9=WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//form[@class='form-horizontal']/div[8]/span[2]"))).text
            result=[result1,result2,result3,result4,result5,result6,result7,result8,result9]
            R.append(result)
            WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//div[@class='modal-footer ui_modal']/button"))).click()#    
            time.sleep(0.5)     #    
   
    time.sleep(0.5)     #    
    with open(wenjian,'w',encoding='utf-8',newline='') as fp:
        writer = csv.writer(fp)
        writer.writerows(R) #    
파 이 썬 셀 레 니 엄 시 뮬 레이 션 웹 페이지 에서 파충류 관리 12123 위반 데 이 터 를 클릭 하 는 글 은 여기까지 소개 되 었 습 니 다.더 많은 파 이 썬 셀 레 니 엄 시 뮬 레이 션 파충류 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 도 많은 지원 바 랍 니 다!

좋은 웹페이지 즐겨찾기