問題タブ [axwebbrowser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
696 参照

c# - AxWebbrowser イベント ハンドラーが機能しなくなった

プログラムのイベント ハンドラが何らかの理由で機能しなくなりました。以前に何度か実行したのとまったく同じコードです。

これが機能しない理由はありませんが、まさにそれが起こっています。他のイベントを作成しようとしましたが、どちらも機能しません。任意の入力をいただければ幸いです。

0 投票する
1 に答える
2692 参照

c# - WinFormsアプリでaXWebBrowserコントロールを使用してセッションを分離しますか?

同じリモート Web サイトを対象とする単一の winforms アプリ プロセスから複数のブラウザー (aXWebBrowser コントロール) をプログラムで制御する方法はありますが、各ブラウザーはリモート サイトとの独自のセッション スコープ内にありますか?

目標 - Web サイトの使用を自動化するアプリケーションを構築します。目標は、アプリケーションが同じ Web サイトでブラウザーと対話する最大 5 人のユーザーの作業を行うことです。

明らかな課題 - 各ブラウザ インスタンスは、リモート Web サイトから送信された「セッション」データを共有します。その結果、実際の複数の人間のユーザーが行うように、さまざまなブラウザーが動作できなくなります。いくつの異なる aXWebBrowser コントロールがインスタンス化されても、それぞれがそのセッション コンテキストを失い、最後/最新/最後にインスタンス化されたブラウザーによって確立されたセッション コンテキストを共有します。言い換えれば、最後に起動されたコントロールは、それ以前のコントロールの確立されたセッション コンテキストを破棄します。

既に試し た - 次のレジストリ キーのいずれかを 'hkcu\software\microsoft\internet explorer\main' に追加します: TabProcGrowth=DWORD:0、FrameMerging=DWORD:0、SessionMerging=DWORD:0。デスクトップ アイコン (アプリの外部) から IE8 を起動すると、これは正常に動作し、IE8 は希望どおりに動作します。ただし、axWebBrowser コントロールを使用してアプリケーションを実行すると、レジストリ設定が axWebBrowser コントロールに影響を与えないように見えます。アプリケーションの外部で望ましくない動作を確認する他の方法には、IE8 の [ファイル] メニューで [新しいセッション] をクリックし、-nomerge を指定して iexplore.exe を起動する方法があります。axWebBrowser コントロールは通信に Wininet を使用するため、これらはアプリケーション内では機能しません。

制約 - aXWebBrowser コントロール (Internet Explorer ActiveX の自動化可能な Web ブラウザ) を使用して既に記述され、機能しているかなりのコードがあるため、理想的なソリューションでは、新しいコントロールでコードを書き直す必要はありません。- ソリューションが見つかった後、アプリケーションはブラウザ ウィンドウをワークステーション ユーザーに表示します。- winforms アプリケーション (.NET 2.0) がコントロールをホストしている - ブラウザーはすべて同じリモート Web サイトをターゲットにしています。

0 投票する
1 に答える
517 参照

html - Windows Mobile の PIE Web ブラウザーからロードされた Web ページ HTML ソース ドキュメントの取得

Windows Mobile の PIE Web ブラウザーに Web ページの HTML ソース ドキュメントをロードする必要があります。試したソースコードを以下に示します。

Windows Mobile 版の Web ブラウザー コントロール (PIE) で、innerHTML() メソッドの取得が欠落していることが判明しました。

次に、PIE コントロールから HTML ドキュメントを取得する方法を説明します。彼らは可能な解決策ですか?

ありがとう、ラマナンド

0 投票する
4 に答える
3909 参照

c# - コンソール アプリケーションで AxWebBrowser を使用する方法

コンソール アプリケーションで AxWebBrowser を使用したいのですが、次の例外が発生します。

タイプ 'System.Windows.Forms.AxHost+InvalidActiveXStateException' の例外がスローされました。

誰でも、例外なしでコンソール アプリケーション c# で AxWebBrowser を使用するためのサンプル コードでこれについて私を助けてください ...

0 投票する
1 に答える
160 参照

c# - C# で AxWebBrowser インスタンスのスクリーンショットを取得するにはどうすればよいですか?

フラッシュをレンダリングする必要があるため、win フォーム アプリで AxWebBrowser のインスタンスを作成しています。C# でレンダリングされたページのスクリーンショットを撮るにはどうすればよいですか?

0 投票する
2 に答える
696 参照

.net - AxWebBrowser.Navigate2 の問題

AxWebBrowser オブジェクトを使用して html/flash をレンダリングしています。このオブジェクトをフォームに追加しました。AxWebBrowser.Navigate2 を使用してフォームにレンダリングしているときに、奇妙な問題に気付きました。ただし、一貫性がなく、断続的に発生します (4/10)。

表示されるコンテンツは、完全に空白、つまり白い画面になることがあります。場合によっては、エッジだけが白くなり、レンダリングされた残りのコンテンツは問題ありません。

ここの問題を理解できません。私は次のことを試しました-「about:blank」でNavigate2を呼び出し、次に実際のURLでNavigate2を2回呼び出します。- Naviagte2 の代わりに Navigate を使用します。

しかし、問題はまだ残っています。

ここで何か助けていただければ幸いです。

前もって感謝します。

0 投票する
1 に答える
1272 参照

c# - axWebBrowser の読み込みが完了するのを待つ方法は?

私はaxWebBrowserいくつかのWeb自動化を行うために使用しています。システムがイベントをトリガーするNewWindow2と、新しいウィンドウで HTML 要素を追跡できなくなります。デバッグ後、新しいウィンドウの読み込みが完了していないにもかかわらず、axWebBrowser1.ReadyStateが等しいことに気付きました。ReadyState_Complete

HTML要素を検出できるように、新しいウィンドウのロードが完了するのを待つにはどうすればよいですか?

0 投票する
0 に答える
510 参照

c# - C# の axWebBrowser コントロールで FileDownload を自動化する際の問題

私は会社のイントラネット サイトをスクレイピングしようとしているプロジェクトに取り組んでいます。現在、サーバー側でサポートを受けることができないという制約があるためです。axWebBrowser コントロールを使用してページに移動する C# クライアントを作成しています。ページが表示されると、SQL クエリから csv ファイルの動的ダウンロードを作成する .aspx ページを呼び出すボタン コントロールがあります。通常の状態では、これにより FileDownload ダイアログが開き、csv が保存されます。

私は、BeforeNavigate2 イベントを使用して e.uRL をキャプチャし、次に FileDownload イベントを使用してダイアログ ボックスをオーバーライドし、WebClient を使用してファイルを取得する人々の例を見つけました。e.uRL に .aspx スクリプトの URL が含まれており、動的に作成される .csv ファイルが含まれていないことを除いて、この方法は私にとってはうまく機能します。

私が読んだ別の提案は、ファイル パスの HTML 要求からヘッダーを解析することでしたが、それを行ったときに、ヘッダーで 401 Unauthorized Access 例外をスローしました。

最後に、可能であればこれを避けたいので、win32 api 呼び出しを使用し、FindWindow と SendMessage を使用してデフォルトのファイル ダイアログをナビゲートすることを考えましたが、順番に待機するマルチスレッド アプリケーションを作成したくありません。これをする。FileDownload ダイアログ ボックスが開いているときに発生するイベントが見つかりません。開く前または閉じた後に発生するイベントだけです。

あなたが持っているかもしれないアイデアは素晴らしいでしょう.私の説明を明確にするならば、私がこれまでに持っているもののここにコードを貼り付け始めることができます.

0 投票する
1 に答える
490 参照

c# - ウェブページ・画像の保存方法

プログラムでフォームに入力してボタンをクリックする機能があるため、次のプロジェクトを使用しています: http://www.codeproject.com/Articles/5452/Microsoft-Web-Browser-Automation-using-C

プログラムでインターネットを閲覧できますが、Web ページを保存できません。たとえば、ドメインに画像を保存しようとしました。画像を開きますが、プログラムで保存できません:

スクリーンショット機能がありますが、私はそれを使いたくありません。どんな助けでも大歓迎です。

0 投票する
3 に答える
1888 参照

c# - NewWindow2 と GetElementsByTagName の両方を備えた C# ブラウザーが必要な私は異端者に違いありません

どうやら、ケーキを持って食べることはできません。

現在、アプリケーションで を使用しSystem.Windows.Forms.WebBrowserています。プログラムは現在、関数の使用に依存していGetElementsByTagNameます。これを使用して、特定のタイプ (「入力」または「テキストエリア」) のすべての要素を収集するため、それらを並べ替えて、特定の要素の値を返すことができます。これはその関数のコードです (私の WebBrowser は web1 という名前です):

(注意点: 取得する必要がある Web ページはフレーム内にあり、状況によっては、要素の識別名が name または ref 属性のいずれかに含まれます)

そのすべてが、 で夢のように機能しSystem.Windows.Forms.WebBrowserます。

しかし、それができないのは、新しいウィンドウを開くことをリダイレクトしてアプリケーションに残すことです。新しいウィンドウで開くものはすべて、ユーザーの既定のブラウザーに送信されるため、セッションが失われます。この機能は、持っていないNewWindow2イベントで簡単に修正できます。System.Windows.Forms.WebBrowser

その不在に唖然としたことを許してください。私は最近VB6を捨ててC#に移りました(はい、VB6、どうやら私は岩の下で雇用されているようです)。VB6では、関数とイベントWebBrowserの両方を所有していました。GetElementsByTagNameNewWindow2

AxSHDocVw.WebBrowserにはイベントNewWindow2があります。新しいウィンドウを必要な場所にルーティングするのに役立ちます。THAT でこれを行うコードWebBrowserは次のとおりです (frmNewWindow は web2 と呼ばれる別のフォームのみを含む単純なフォームですWebBrowser(Dock を Fill に設定)):

圧倒的な通常の NewWindow イベントでその機能を複製する方法を自分で作成することはできません。

FetchValueを使用して、上記で説明した機能を複製する方法もわかりませんAxSHDocVw.WebBrowser。まったく違う方法で物事を進めるように見え、物事を行う方法についての私の知識はすべて役に立たない.

1 つのアプリケーションでこれら 2 つのものを使用するというこの奇妙なファンタジーについては、私は病気でねじ曲がった男であることを知っています。しかし、あなたはこの愚かな理想主義者を助けることができるでしょうか?