vscode에서 options.add_experimental_option('detach', True) 안먹힘

vscode 에디터 상에서 파이썬 코드를 실행시킬 때 Control + F5를 눌러 실행시켰던게 문제였습니다.

 

에디터 우측 상단에 화살표를 누르니 정상작동되었습니다. 왜 작동되었는지는 이후 추가할 예정입니다.

 

 

매크로 동기 문제

 

driver.find_element(By.ID, "id").send_keys("id")
driver.find_element(By.ID, "pass").send_keys("password")
driver.find_element(By.XPATH, "로그인 버튼").click()


try:
    alert = Alert(driver) # 로그인 인증 확인 alert 클릭
    alert.accept()
except:
    pass


driver.find_element(By.XPATH, "이후 버튼 클릭").click()

 

로그인까지 잘 됐는데 다음 element click이 안되길래 조금 의아했었는데 이후 바로 동기 문제임을 느꼈습니다.

 

로그인을 시도하고 응답이 아직 도착하지 않았는데 아래 try catch문에서 alert가 없기 때문에 pass 한 뒤 이후 바로 다음 버튼 클릭을 시도했다는 것이었습니다. 이후 로그인 응답 이후에 바로 alert 확인을 클릭할 수 있도록 응답을 가져올 때까지 대기할 수 있는지 찾아봤지만 아직 해결하진 못했습니다. 차후에 찾아 정리할 예정입니다.

 

우선 임시적으로 time을 사용하여 일정시간 대기한 뒤 실행할 수 있도록 사용하였습니다 

 

임시 해결

 

driver.find_element(By.ID, "id").send_keys("id")
driver.find_element(By.ID, "pass").send_keys("password")
driver.find_element(By.XPATH, "로그인 버튼").click()


try:
    time.sleep(0.5)
    alert = Alert(driver) # 로그인 인증 확인 alert 클릭
    alert.accept()
except:
    pass


driver.find_element(By.XPATH, "이후 버튼 클릭").click()

만약 로그인이 실패했을 때 재로그인을 시도하던지 에러를 보여줘야 하기 때문에 그에 대한 방법까지 정리할 예정입니다

복사했습니다!