自動化

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

C#を学ぶならガチで読んで欲しい本はこちら


今回のテーマ

こんにちは、かっぱちゃんです。

ココがポイント

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

下記の記事の続きです。

CHECK

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

C#を学ぶならガチで読んで欲しい本はこちら 今回のテーマContents1 今回のテーマ2 「OpenQA.Selenium.ElementNotInteractableException」と「Ope ...

続きを見る

 

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

CHECK

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

C#を学ぶならガチで読んで欲しい本はこちら まえがきContents1 まえがき2 Seleniumの準備3 ブラウザの表示の仕方4 googleでの検索方法5 まとめ はじめまして、かっぱちゃんです ...

続きを見る

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

CHECK

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

C#を学ぶならガチで読んで欲しい本はこちら まえがきContents1 まえがき2 今回学ぶメソッド3 FindElementByClassName4 FindElementById5  FindEl ...

続きを見る

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

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

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

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

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

C#やるならこの参考書は絶対読んでいてほしい!

前回の記事のおさらい

前回の記事では、「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つを試してみましょう。

ポイント

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

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

KappaChan
今回の記事は終了かっぱ!

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

合わせて読みたいC# Linqを勉強するならこれだけは読んでほしいオススメの本3選 オススメの参考書

C#を学ぶならガチで読んで欲しい本はこちら C#を勉強するためのオススメの本を紹介Contents1 C#を勉強するためのオススメの本を紹介1.1 C#の基礎を学ぶなら「やさしいC#」1.2 C#の全 ...

続きを見る

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

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

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

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

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

C#を学ぶならガチで読んで欲しい本はこちら


新しいサイト作りました。アニメのまとめサイトです。

レインボーリアルタイムTwitter(アニメ版)


映画ドキュメンタリ版のブログはこちら
レインボーまとめサイト(映画ドキュメンタリー版)
ポケモンまとめブログはこちら
レインボーまとめサイト(ポケモン版)

-自動化

Ads Blocker Image Powered by Code Help Pro

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

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

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock