길게 한번 설명해보겠습니다. ( 기존에 있던글을 수정하여 새로 작성 했습니다 )


안녕하세요 개발자 여러분..ㅎㅎ

지식을 좀 얻고 가고자 또 질문을 올립니다ㅎㅎ

아무리 해봐도 이미지서칭 이 외는 해답을 못찾겠네요...ㅎ

사실 이미지서칭으로만 해도 쉽고 간단하게 해결 할 수 있지만


사내 여러대의 PC에 놓고 쓸려고 하니

해상도가 다 달라서인지 이미지서칭이 제대로 이루어 지지 않는 경우가 많더군요


해서 본론으로 들어가면..!


1. 아래 표중에 <TD>접수대기</TD>로 구성되어있는 텍스트를 찾아내어

   그 옆에 <TD> 2018~~~ </TD> 라는 링크가 있는 텍스트를 클릭하게 하고 싶습니다


2. 클릭한 후의 일정 작업을 하고 나면 접수 완료로 텍스트가 변경됩니다


3. 다시 한번 표를 검색하여 1번과 같은 조건을 찾고 클릭하도록 진행



XRfOPnl.png


파이썬에선 지인의 도움으로 구성해서 소스는 보유 하고 있는데요

파이썬에서도 가능하니까 오토핫키에서도 가능할줄 알고

소스 가져와서 살짝 변형해서 적용시켜봤는데..

이것도 도무지 답이 없네요 ~~


1. 파이썬 소스입니다 ( 파이썬에선 정상 작동 )


    table = driver.find_elements_by_class_name("tablesorter")[0]
    tbody = table.find_element_by_tag_name("tbody")
    trs = tbody.find_elements_by_tag_name("tr")
    tabNum = table.find_element_by_xpath('..').find_element_by_tag_name("center").find_elements_by_css_selector("*")

    for i in range(0, len(tabNum)):
        tabNum[i].click()
        driver.implicitly_wait(5)
        for tr in trs:
            obj = tr.find_elements_by_tag_name("td")
            if "접수대기" in obj[1].text:
                obj[2].click()
                driver.implicitly_wait(2)
                #여기서 이후처리
                break

    for tr in trs:
        obj = tr.find_elements_by_tag_name("td")
        if "접수대기" in obj[1].text:
            obj[2].click()
            driver.implicitly_wait(2)
            #여기서 이후처리
            break


2. 제 나름대로 번역한 오토핫키 소스입니다.
table := driver.FindElementsByClass("tablesorter")
MsgBox % table ; 변수 내용을 확인하기 위함  저장 안됨..
tbody := table.FindElementsByTag("tbody")
MsgBox % tbody ; 변수 내용을 확인하기 위함  저장 안됨..
trs := tbody.FindElementsByTag("tr")
MsgBox % trs ; 변수 내용을 확인하기 위함  저장 안됨..
tabNum := table.FindElementsByXPath("..").FindElementsByTag("center").FindElementsByCss("*")
MsgBox % tabNum

while ( i = (0, tabNum)) ; 여기 구문은 파이썬에선 for 문으로 구성되어있지만
{ ; 오토핫키에선 for 문이 없는걸로 알고 있어 while 로 변경해보았습니다.
obj=tr.FindElementsByTag("td")
if obj[1] = "접수대기"
{
obj[2].click()
}
}

이상입니다.  누구나 다 그렇겠지만, 하나하나 구글링 하면서 하다보니
기초는 없더라도 이해 부탁드립니다.
쓰다보니 글이 너무 길게되었네요..
긴 글 읽어주셔서 감사합니다.
작은 팁이라도 감사히 받겠습니다!!!.

답글