Webスクレイピング(Selenium)でGoogle翻訳を利用してエラーメッセージを自動翻訳する方法

スポンサーリンク

はじめに

この記事では、PythonのSelenium、そしてpyperclipモジュールを使用して、Webスクレイピングによって取得した英文のエラーメッセージを自動的にGoogle翻訳に送り、その翻訳結果を受け取り表示する方法を紹介します。

エラーが発生した場合、多くの開発者はその英文のエラーメッセージを翻訳するためにGoogle翻訳に頻繁にアクセスして利用しているかもしれません。しかしこの場合は、エラーが繰り返し発生すると非効率的です。そこで、WebスクレイピングとGoogle翻訳を組み合わせることで、エラーメッセージの自動翻訳を実現する手法を提案します。

スポンサーリンク

実行手順

以下は、エラーメッセージの自動翻訳を行うプログラムの手順です

  1. エラーメッセージをクリップボードにコピーします。
  2. エラーメッセージをGoogle翻訳の入力欄に貼り付けます。
  3. Google翻訳の自動翻訳が終わるまで少し待機します。
  4. 取得した日本語訳を表示します。

この手順はすべてプログラムで行い自動化します。

具体的なコード

以下のコードはseleniumのヘッドレスブラウザでグーグル翻訳のウェブページを開き、クリップボードに保持されたエラーメッセージをテキストエリアに貼り付けます。翻訳は自動で行われるので3秒ほど待機します。そのあとに翻訳されたテキストを取得し、printを使って表示します。

import requests, pyperclip, time

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

def get_error_translation(error_message):
    # エラーメッセージをGoogle翻訳に送る
    chrome_options = Options()
    chrome_options.add_argument("--headless")  # ヘッドレスモードでブラウザを起動
    driver = webdriver.Chrome(options=chrome_options)
    driver.get("https://translate.google.com/?sl=en&tl=ja&op=translate")
    input_box = driver.find_element_by_css_selector(".er8xn")
    input_box.send_keys(error_message)
        
    time.sleep(3)
    
    # 翻訳結果を取得
    translated_text = driver.find_element_by_css_selector(".lRu31").text

    driver.quit()

    return translated_text

def main():
    # クリップボードからエラーメッセージを取得
    error_message = pyperclip.paste()

    # Google翻訳で日本語に翻訳
    translated_text = get_error_translation(error_message)

    # 翻訳結果を表示
    print("Original Error Message:")
    print(error_message)
    print("\nTranslated Error Message:")
    print(translated_text)

if __name__ == "__main__":
    main()

このコードの注意点として英文を貼り付けるテキストエリアのクラス「ex8xn」と翻訳結果を表示しているラッパーのクラス名「lRu31」のクラス名が将来的に変わる、もしくは動的にクラス名が変わる可能性があることです。クラス名が変わった場合は要素が取得できないため、テキストを取得することもできなくなります。

また、chromeを更新した場合は最新のwebドライバーを用意しておかなければならないことです。chromewebドライバーのダウンロードは以下からダウンロードすることができます↓

ChromeDriver - WebDriver for Chrome - Downloads
Current ReleasesIf you are using Chrome version 115 or newer, please consult the Chrome for Testing availability dashboard. This page provides convenient JSON e...

まとめ

この記事では、Webスクレイピング-つまりSeleniumとGoogle翻訳を活用して、エラーメッセージを自動翻訳する手法について解説しました。英語に不慣れな開発者でもこのプログラムファイルをwindowsのタスクバーに固定化するなどすれば、翻訳を効率化できるかもしれません。

コメント

タイトルとURLをコピーしました