콘솔워크

[selenium] 셀레니움을 이용한 papago 번역기 본문

프로그래밍/python

[selenium] 셀레니움을 이용한 papago 번역기

이휘재123 2022. 6. 28. 17:25
반응형
def run_papago(driver, content):

    translate_content = ''

    # 새 탭 열기
    driver.execute_script('window.open();')
    time.sleep(1)

    # 좌측 한국어 설정 우측 일본어 설정 https://papago.naver.com/?sk=ko&tk=ja&hn=0
    driver.switch_to.window(driver.window_handles[-1])
    driver.get(f'https://papago.naver.com/?sk=ko&tk=ja&hn=0')
    time.sleep(1)


    # 번역 작업
    try:
        # 좌측에 문자열 입력
        source_textarea = driver.find_element(By.CSS_SELECTOR, 'textarea#txtSource')
        translate_button = driver.find_element(By.CSS_SELECTOR, 'button#btnTranslate')
        source_div = driver.find_element(By.CSS_SELECTOR, '#ddSourceLanguage').find_element(By.XPATH, '..').find_element(By.XPATH, '..')
        switch_button = source_div.find_element(By.CSS_SELECTOR, 'button:nth-child(3)')

        source_textarea.clear()
        source_textarea.send_keys(content)
        translate_button.click()
        time.sleep(5)

        translate_content = driver.find_element(By.CSS_SELECTOR, 'div#txtTarget').text

    except Exception as e:
        print(e)
    
    finally:
        print(f'{translate_content}')

    # 새 탭 닫기
    driver.close()
    driver.switch_to.window(driver.window_handles[-1])
    time.sleep(1)

    return translate_content

스위치 버튼을 사용하여 좌측과 우측의 언어설정을 바꿀 수 있다.

반응형