C#

【C#】shdocvwでDOMの取得ができずにnullが返ってきてしまう時に見直すIEの設定方法

C#でshdocvwを使ってIEの自動操作をしたいんだけど、IE上ではページが表示されてるのにinnerTextがnullになっててIEの操作が出来ないんだけどどうすればいいの?mshtml.internetexplorerのLocalURLも移動せずに最初のnavigationで指定したURLから変わらないんだ

そんな時には『イントラネットサイトを互換表示で表示する』と『Microsoft互換性リストの使用』からチェックを外すと解決しました。

 

こんな方におすすめ

  • shdocvwでIEの情報が取得できるサイトとできないサイトがある。
  • navigation(URL)で移動した後に別のサイトへ飛んでもLocalURLが変わらない
  • ログイン画面でログインした後にIEの自動操作を行いたいけど情報が解析できない

 

当記事を書いている人は?

shdocvwを使ってIEの自動操作を行っていた所、HTMLの解析ができずにnullが返ってきてどうやってもIE上の情報が取得できない!

実際に自分でいろいろとプログラムコードやIEの設定をいじってなんとか解決できたので、その方法を紹介します。

【C#】shdocvwでDOMの取得ができずにnullが返ってきてしまう時に見直すIEの設定方法

shodcvwでIE自動操作中に特定のサイトだけnullが返ってきてしまう原因は以下の2つ

  • イントラネットサイトを互換表示で表示する
  • Microsoft互換性リストの使用

インターネットオプションの互換性表示設定から上記2つのチェックを外す事で無事解決しました。

 

IE設定の具体的な方法

shdocvw null

まずはインターネットエクスプローラーの右上にある歯車をクリックします。

下から3番目くらいに『互換表示設定』があるので、それをクリック

 

互換表示設定

下の方にある『イントラネット サイトを互換表示で表示する』と『Microsoft 互換性リストの使用』の2つのチェックを外します。

原因についてはわかりませんが、この2つのチェックを外すと今まで取得できなかったIE上の情報を取得できるようになりエラーが出なくなります。

 

私と同じような症状でエラーが出てIEの情報が取得できない時には今回紹介した方法で解決できるかもしれないので、ぜひとも試してみてください。



  • この記事を書いた人
  • 最新記事

井川 裕輝

ネットショップ総合管理職3年の経験を経て独立、現在は法人代表。小規模低予算少人数でのネットショップ立ち上げ経験が最も多い。

-C#

© 2021 ネットショップ運営情報ブログ『WellMaga』