DOBON.NETプログラミング道掲示板
(現在 過去ログ3 を表示中)

[ 最新記事及び返信フォームをトピックトップへ ]

■34297 / inTopicNo.1)  IE11では表示されるが、.netのWebBrowserでは、表示されないHPを表示する方法
  
□投稿者/ minarai_database 一般人(1回)-(2019/10/02(Wed) 12:01:36)
  • アイコン環境/言語:[VisualStudio2017 VB.net,C#] 
    分類:[.NET] 

    (環境)
    Windows7(10の時もある) VisualStudio2017 VB.NET(C#で回答でも構いません)
    フォームにWebBrowser(レジストリーをさわり、IE7をIE11に切り替えて使用しています。)を配置して下記のアドレスをNavigateしてもHPが表示されません。
    https://shikiho.jp/stocks/1944
    しかし、 Internet Explorer 11では、アドレスを入力すると表示されます。

    WebBrowserで、表示する方法、わかる人いましたら教えて頂けないでしょうか?
    宜しくお願いいたします。
引用返信 削除キー/
■34298 / inTopicNo.2)  Re[1]: IE11では表示されるが、.netのWebBrowserでは、表示されないHPを表示する方法
□投稿者/ Hongliang 大御所(562回)-(2019/10/02(Wed) 13:14:54)
  • アイコンFEATURE_BROWSER_EMULATIONの設定値が11000でも11001でも、その設定だけで、こちらではIE11と同様に表示できていますね(Win7)。
    とりあえず、ユーザエージェントを確認できるページをIE11とWebBrowserで表示させて、WebBrowserが正しくIE11として動作しているかどうかを確認してみてはどうでしょうか。
引用返信 削除キー/
■34299 / inTopicNo.3)  Re[2]: IE11では表示されるが、.netのWebBrowserでは、表示されないHPを表示する方法
□投稿者/ minarai_database 一般人(2回)-(2019/10/02(Wed) 13:41:25)
  • アイコンHongliangさんお返事有難うございます。


    https://supportdetails.com/にアクセスすることで、IE11であることは確認済みです。
    Hongliangさんの環境では、表示できるのですか?
    ますます。判らなくなってきました。

引用返信 削除キー/
■34301 / inTopicNo.4)  Re[3]: IE11では表示されるが、.netのWebBrowserでは、表示されないHPを表示する方法
□投稿者/ 魔界の仮面弁士 大御所(1239回)-(2019/10/02(Wed) 16:21:53)
  • アイコンNo34297に返信(minarai_databaseさんの記事)
    > 下記のアドレスをNavigateしてもHPが表示されません。
    > https://shikiho.jp/stocks/1944

    そもそも四季報オンラインは、Microsoft InternetExplorer からの
    正常動作を保証していないそうです。
    https://info.shikiho.jp/help/notice/detail/%E3%80%90%E9%87%8D%E8%A6%81%E3%80%91microsoft-internetexplorer%E3%82%92%E3%81%8A%E4%BD%BF%E3%81%84%E3%81%AE%E6%96%B9%E3%81%B8/


    > しかし、 Internet Explorer 11では、アドレスを入力すると表示されます。

    開けることは開けますが、CORS 警告が出ていました。(仔細未確認)


    > WebBrowserで、表示する方法、わかる人いましたら教えて頂けないでしょうか?

    x86 ビルドと x64 ビルドの両方で検証してみました。

    サイト側の問題で多少スクリプトエラーが出ますが、それらを無視して動かした場合、
    IE7〜10 モードだと、真っ白なページのまま先に進まなくなってしまったのですが、
    IE11 モードの場合は、15秒ぐらいかけて全コンテンツがロードされているようです。


    // --- Program.cs ---
    using Microsoft.Win32;
    using System;
    using System.Diagnostics;
    using System.IO;
    using System.Windows.Forms;
    namespace WindowsFormsApp
    {
      public static class Program
      {
        [STAThread]
        private static void Main()
        {
          RegistIEMode();
          Application.EnableVisualStyles();
          Application.SetCompatibleTextRenderingDefault(false);
          Application.Run(new Form1());
        }

        private static void RegistIEMode(int? dword = 11001)
        {
          string filename = Path.GetFileName(Process.GetCurrentProcess().MainModule.FileName);
          Debug.Assert(Registry.CurrentUser != null, "Registry.CurrentUser != null");
          RegistryKey key1 = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION");
          RegistryKey key2 = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BEHAVIORS");
          if (dword != null)
          {
            key1?.SetValue(filename, dword, RegistryValueKind.DWord);
            key2?.SetValue(filename, 1, RegistryValueKind.DWord);
          }
          else
          {
            key1?.DeleteValue(filename);
            key2?.DeleteValue(filename);
          }
          key1?.Close();
          key2?.Close();
        }
      }
    }


    // --- Form1.cs ---
    using System.Windows.Forms;
    namespace WindowsFormsApp
    {
      public partial class Form1 : Form
      {
        public Form1()
        {
          InitializeComponent();
          comboBox1.DataSource = new string[]
          {
            "https://supportdetails.com/",
            "https://shikiho.jp/stocks/1944",
          };
          webBrowser1.ScriptErrorsSuppressed = false; // あえて false で実験してみた
          Text = webBrowser1.Version.ToString();
          button1.Click += (sender, e) => webBrowser1.Navigate(comboBox1.Text);
          Shown += (sender, e) =>
          {
            comboBox1.SelectedIndex = 0;
            button1.PerformClick();
          };
        }
      }
    }
引用返信 削除キー/
■34304 / inTopicNo.5)  Re[4]: IE11では表示されるが、.netのWebBrowserでは、表示されないHPを表示する方法
□投稿者/ minarai_database 一般人(3回)-(2019/10/03(Thu) 09:39:13)
  • アイコン 魔界の仮面弁士様 お返事有難うございます。

    社内システムの関係でIEに固執していましたが、WebBrowserを諦めChromeに乗り換えます。
    その場合、Seleniumによる制御が便利でしょうか?


引用返信 削除キー/
■34305 / inTopicNo.6)  Re[5]: IE11では表示されるが、.netのWebBrowserでは、表示されないHPを表示する方法
□投稿者/ 魔界の仮面弁士 大御所(1240回)-(2019/10/03(Thu) 10:26:01)
  • アイコンNo34304に返信(minarai_databaseさんの記事)
    > 社内システムの関係でIEに固執していましたが、WebBrowserを諦めChromeに乗り換えます。

    そもそも目的は何でしょうか?
    閲覧ツールの作成? それともスクレイピング目的?

    HTML 要素の取得なら、Selenium の他、HtmlAgilityPack や AngleSharp 等の
    選択肢が思い当たりますが、今回の目的に合致するかは分かりません。
    (当方は、会社四季報オンラインのアカウントを持ち合わせていないため)


    また、データの自動収集が目的だとすると、同サービス規約の
    第13条1項10号に抵触する可能性があるかもしれません。
    https://s.toyokeizai.net/category/SERVICELIST/SHIKIHO.html

    》 第13条(利用者のその他の禁止行為)

    》 1. 利用者は、本規約の他の条項において禁止される行為の他、本サービスにおいて以下の行為をしてはならないものとします。また、運営者は(以下略)

    》 (10) 本サービスで提供された情報を、コンピューター等を利用して自動取得する行為
引用返信 削除キー/
■34306 / inTopicNo.7)  Re[6]: IE11では表示されるが、.netのWebBrowserでは、表示されないHPを表示する方法
□投稿者/ minarai_database 一般人(4回)-(2019/10/03(Thu) 10:48:03)
  • アイコン閲覧目的ですよ!
    所有株をエクセルで管理しているので、四季報の画面を立ち上げてイチイチコード入力するのが面倒なので・・・

    有難うございました。
引用返信 削除キー/
■34307 / inTopicNo.8)  Re[7]: IE11では表示されるが、.netのWebBrowserでは、表示されないHPを表示する方法
□投稿者/ minarai_database 一般人(5回)-(2019/10/03(Thu) 11:39:18)
  • アイコン有難うございました
解決み!
引用返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/


- Child Tree -