人生が変わるオンラインサロン!
月3万副業収入が得られる!Mサロン!31日間無料体験!まえがき
こんばんは、サルモリです。
今回は下記のテーマです!
今回のテーマ
SeleniumによるDeepl翻訳の自動化
今回の記事では、プログラム上に文字列を用意し、翻訳結果の文字列を受け取るまでを
実現していきたいと思います。
下記の記事にもSeleniumについては解説しているので、ぜひよんでください!
CHECK
-
-
Microsoft Edgeを自動化してみよう1
人生が変わるオンラインサロン! 月3万副業収入が得られる!Mサロン!31日間無料体験! まえがき こんにちは、サルモリです! これからC#のSeleniumの使い方について解説していくのでよろしくお願 ...
続きを見る

では、早速初めていきます!
自動化の関連記事はこちら
Deepl翻訳サイトを開く
まずはDeppl翻訳サイトを自動的に開いてみましょう。
下記のソースコードを作成してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
using OpenQA.Selenium.Edge; using System; using System.Collections.Generic; using System.Linq; namespace ConsoleApp1 { class Program { static void Main(string[] args) { var driverhonyaku = new EdgeDriver(EdgeDriverService.CreateDefaultService(@"C:\Users\miyam\Downloads\edgedriver_win64", "msedgedriver.exe")); driverhonyaku.Navigate().GoToUrl("https://www.deepl.com/ja/translator"); } } } |
上記のコードを実行すると、Deppl翻訳を開けます。
テキストエリアへの文字列入力
続けて、翻訳前のテキストエリアに文字列の入力をしてみましょう。下記のソースコードを実行してみてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
using OpenQA.Selenium; using OpenQA.Selenium.Edge; using System; using System.Collections.Generic; using System.Linq; namespace ConsoleApp1 { class Program { static void Main(string[] args) { string beforecontext = "apple"; var driverhonyaku = new EdgeDriver(EdgeDriverService.CreateDefaultService(@"C:\Users\miyam\Downloads\edgedriver_win64", "msedgedriver.exe")); driverhonyaku.Navigate().GoToUrl("https://www.deepl.com/ja/translator"); driverhonyaku.FindElement(By.XPath("//textarea[@class = 'lmt__textarea lmt__source_textarea lmt__textarea_base_style']")).SendKeys(beforecontext); } } } |

16行目のソースコードを追加しました。翻訳前テキストエリアに文字列を入力してみます。
deeplサイトによって、自動的に翻訳後の結果も表示されると思います。
自動化の関連記事はこちら
翻訳後の言語を指定
翻訳したい言語をクリックしてみましょう!今回はドイツ語を選択してみます。
下記のソースコードを実行してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
using OpenQA.Selenium; using OpenQA.Selenium.Edge; using System; using System.Collections.Generic; using System.Linq; namespace ConsoleApp1 { class Program { static void Main(string[] args) { string beforecontext = "apple"; var driverhonyaku = new EdgeDriver(EdgeDriverService.CreateDefaultService(@"C:\Users\miyam\Downloads\edgedriver_win64", "msedgedriver.exe")); driverhonyaku.Navigate().GoToUrl("https://www.deepl.com/ja/translator"); driverhonyaku.FindElement(By.XPath("//textarea[@class = 'lmt__textarea lmt__source_textarea lmt__textarea_base_style']")).SendKeys(beforecontext); driverhonyaku.FindElement(By.XPath("//span[@class='translate_to']")).Click(); driverhonyaku.FindElement(By.XPath("//button[@dl-test='translator-lang-option-de-DE']")).Submit(); } } } |
17行目のtranslate_toのClickで画面上の訳文ラベルをクリックしていています。
18行目でドイツ語を選択しています。
自動的にドイツ語に変換されたと思います。
翻訳後テキストの取得
最後に翻訳後の内容を取得してみましょう。下記のソースコードを実行してみてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
using OpenQA.Selenium; using OpenQA.Selenium.Edge; using System; using System.Collections.Generic; using System.Linq; using System.Threading; namespace ConsoleApp1 { class Program { static void Main(string[] args) { string beforecontext = "apple"; Console.WriteLine(beforecontext); var driverhonyaku = new EdgeDriver(EdgeDriverService.CreateDefaultService(@"C:\Users\miyam\Downloads\edgedriver_win64", "msedgedriver.exe")); driverhonyaku.Navigate().GoToUrl("https://www.deepl.com/ja/translator"); driverhonyaku.FindElement(By.XPath("//textarea[@class = 'lmt__textarea lmt__source_textarea lmt__textarea_base_style']")).SendKeys(beforecontext); driverhonyaku.FindElement(By.XPath("//span[@class='translate_to']")).Click(); driverhonyaku.FindElement(By.XPath("//button[@dl-test='translator-lang-option-de-DE']")).Submit(); Thread.Sleep(5000); var aftercontext = driverhonyaku.FindElement(By.XPath("//div[@id='target-dummydiv']")).GetAttribute("textContent"); Thread.Sleep(5000); Console.WriteLine(aftercontext); Console.ReadKey(); } } } |
22行目で翻訳後の文字列を取得しています。GetAttributeで"textContent"を指定すると、文字列を取得できるので、ぜひ覚えて下さい。
result
apple
Apfel

以上で、今回の記事は終了とします。お役に立つことが出来たのなら幸いです。
自動化の関連記事はこちら
人生が変わるオンラインサロン!
月3万副業収入が得られる!Mサロン!31日間無料体験!C#のLinqをさらに学びたい方へ
C#のLinqを理解して頂くために参考書を執筆致しました!
Linqの演習問題はこちらの参考書に載せているので、問題を解いて理解を深めたい方はこちらの参考書チェックしてください!
下記の画像をクリック!!kindleunlimitedの会員であれば無料で見れます!
⇩初心者向け ⇩中級者向け
C#のLinqをさらに学びたい方へ
C#のLinqを理解して頂くために参考書を執筆致しました!
Linqの演習問題はこちらの参考書に載せているので、問題を解いて理解を深めたい方はこちらの参考書チェックしてください!
下記の画像をクリック!!kindleunlimitedの会員であれば無料で見れます!
⇩初心者向け ⇩中級者向け