自動化

DeepL翻訳を自動化しながら、Seleniumの「OpenQA.Selenium.ElementNotInteractableException: element not interactable」エラーを対策してみる。

このブログではAffinger5を使用しています。

ブログテーマが気に入った方はコチラをクリック

今回のテーマ

こんにちは、サルモリです!

ココがポイント

今回はDeepl翻訳を自動化するついでにSeleniumのエラーを対策していきます。

エラー対策はとても重要だよ!
サルモリ

下記の記事の続きです。

CHECK

Selenium使用時に、エラー:「OpenQA.Selenium.NoSuchElementException」と「OpenQA.Selenium.ElementNotInteractableException: element not interactable」の解決方法1

このブログではAffinger5を使用しています。ブログテーマが気に入った方はコチラをクリック 今回のテーマ こんにちは、サルモリです! 今回は下記のテーマについて書いていきます。 今回のテーマ 「O ...

続きを見る

 

Seleniumを使う環境が整っていない方はこちら

CHECK

Microsoft Edgeを自動化してみよう1

このブログではAffinger5を使用しています。ブログテーマが気に入った方はコチラをクリック まえがき こんにちは、サルモリです! これからC#のSeleniumの使い方について解説していくのでよろ ...

続きを見る

Seleniumの操作方法の説明は下記に記述しております。

CHECK

Microsoft Edgeを自動化してみよう3

このブログではAffinger5を使用しています。ブログテーマが気に入った方はコチラをクリック まえがき 下記の記事の続きです。まだ読んでない方はぜひ読んでください。この記事はC#でSeleniumを ...

続きを見る

前回の記事のおさらい

前回の記事では、「OpenQA.Selenium.ElementNotInteractableException: element not interactable」は下記の3点を試すとエラーが解消するとお伝えしました。

ポイント

  • 画面を最大化する。
  • スクロールを合わせる。
  • 一つのアクション後に一定時間処理を空けてみる。

前回の記事では1番目の「画面を最大化する」方法でエラーを解消できたので、今回は2番目と3番目の解決方法を試してみましょう!!

Deepl翻訳のソースコード

DeepL翻訳で翻訳先の言語を「イタリア語」に選択するソースコードを作ってみました。

 出力結果
OpenQA.Selenium.ElementNotInteractableException: element not interactable

イタリア語を選択して、テストを翻訳できていると思います。

下記が参照している属性一覧です。

属性一覧

翻訳前のテキストボックス

<textarea class="lmt__textarea lmt__source_textarea lmt__textarea_base_style" data-gramm_editor="false" tabindex="110" dl-test="translator-source-input" autocomplete="off" lang=""></textarea>

訳文ラベルクリック

<span class="translate_to">訳文 </span>

翻訳言語の選択

<button tabindex="99" dl-test="translator-lang-option-it-IT">イタリア語</button>

スクロールバーを移動するソースコード

下記の1行追加したソースコードを実行してみてください。

window.scrollToは、スクロールバーを指定した位置に移動するメソッドです。

下記のエラーが表示されたと思います。下記のエラーは表示画面に訳文が見つからず、クリック出来なかったことによるエラーです。

 command
OpenQA.Selenium.ElementClickInterceptedException

なので、スクロールバーを上に戻してあげましょう。下記を追加してみてください。

処理がなおったと思います。

一定時間処理を空ける方法

一つのアクション後に一定時間処理を空ける下記のやり方は

System.Threadingを追加し、

Thread.Sleep(1000)のように指定してください。1000は1秒間待つということです。

処理に画面表示が追い付いてない時などに使用すると良いです。

基本的にエラーでつまずいたときは画面に対象の属性が表示されないことがほとんどなので、

エラーでつまずいた時は下記の3つを試してみましょう。

ポイント

  • 画面を最大化する。
  • スクロールを合わせる。
  • 一つのアクション後に一定時間処理を空けてみる。

下記がソースコードです。

サルモリ
今回の記事はここまでだよ!

自動化の関連記事はこちら

C#のLinqをさらに学びたい方へ

C#のLinqを理解して頂くために参考書を執筆致しました!

Linqの演習問題はこちらの参考書に載せているので、問題を解いて理解を深めたい方はこちらの参考書チェックしてください!

下記の画像をクリック!!kindleunlimitedの会員であれば無料で見れます!

⇩初心者向け      ⇩中級者向け

C#でChatGPTAPIを使ってブログ作成を自動化しませんか?

-自動化

Ads Blocker Image Powered by Code Help Pro

広告ブロックを検出しました。

ブラウザの広告機能を使用して広告をブロックしていることが検出されました。
ブラウザの広告ブロッカーを無効にし、「更新」をクリックしてください。

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock