問題タブ [tchromium]
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.
delphi - Chromium 組み込みブラウザで Cookie/ユーザーを分離する正しい方法は何ですか?
解決策が見えないまま、何日も検索しました。
1 つのアプリケーションで複数の Chromium インスタンスが必要で、このインスタンスのそれぞれが異なるアカウント (例: outlook.com) で同じサイトにログインします。
この解決策を試しましたが、DECF3 の新しいバージョンには「OnGetCookieManager」イベントはありません。どうやら関連するバグがあり、イベント onGetCookieManagerは 1547 CEF3 で削除されました。
これを試しましたが、うまくいきません。
これは本当に可能ですか?どのように?
DCEF3 (リビジョン: 0cc175e7a629) と Delphi XE3 を使用しています。
chromium - プログラムによる ChromiumOSR の実行
DCEF3 の最新ビルドを使用しており、コンソール アプリケーションでプログラムによって ChromiumOSR を実行しようとしています。最初は素朴にこのコードを試しました:
しかし、それは機能せず、アクセス違反が発生しました。次に、このスレッドGetting errors creating ChromiumOSR programaticallyを見つけ、それに応じてコードを修正しました:
アクセス違反は発生しなくなりましたが、コードはまだ機能していません。実際、私はプロキシを接続して接続を盗聴しました: http://google.comに対してリクエストが行われることはありません。コンソール アプリケーションで次のエラーが表示されます: ERROR - running without renderer sandbox。ただし、Google での検索によると、エラーは「無視」でき、コードは引き続き機能するはずです。
もちろん、フォーム アプリケーションの設計時に TChromiumOSR を作成すれば、すべて正常に動作します。ただし、代わりにコンソール アプリケーションでプログラムによって使用する必要があります。
c++ - TChromium (RAD Studio、C++ Builder): VisitDom およびその他の同様のメソッドの使用方法
ブラウザ コンポーネントを使用する Windows アプリケーションを作成する必要があります。RAD Studio の C++ Builder を選択したのは、過去に使用したことがあるからですが、Web 開発者ほど C++ プログラミングの経験がありません (主に JS、PHP などの Web 開発者です)。 ...)、そのため、プロジェクトの実現にいくつかの問題が発生しました。私は、C++ のプロのスペシャリストが考えたのと同じくらい迅速に解決できる、非常に基本的な何かが欠けていることを願っています。
組み込みの TWebBroswer コンポーネントには多くの欠点があるため、Chromium ( https://github.com/hgourvest/dcef3 ) を使用することにしました。それをインストールして、Delphi だけでなく C++ Builder でも動作させるには時間がかかりましたが、TChromium を使用したプロジェクトは、現時点ではコンパイルして正常に動作します。ページをナビゲートしたり、JS を実行したりできます。もっと。
それにもかかわらず、まだ解決できない問題が 1 つあります。それは、ドキュメントの DOM へのアクセスです。Google の検索結果では、何の役にも立ちませんでした。同じ問題があり、回答がない 1 つのトピック ( http://www.cyberforum.ru/cpp-builder/thread996496.html ) とドキュメントです。
ドキュメントでは、この目的のために VisitDom メソッドを使用する必要があると言われていますが、C++ Builder でこれを行う方法がわかりません。
この C++ デモ: https://code.google.com/p/chromiumembedded/source/browse/trunk/cef3/tests/cefclient/dom_test.cpp?r=689次のコードが表示されます。
次に、VisitDom メソッドで次のようにします。
このコードをコンパイルしようとすると、(C++ Builder で) 次のようなエラーが発生します。
後で、このトピックのアドバイスを使用しようとしました (DOMVisitor - StringVisitor ではありませんが、そのうちの 1 つを機能させることができれば、2 つ目は問題ないと思います): https://groups.google.com /forum/#!msg/delphichromiumembedded/DckdcKOCLzw/-zgUXOUTXa4J Delphi で記述されているため、コードを正しく C++ に変換したかどうかはわかりません。
Unit1.h では、説明したように ICefStringVisitor を TForm1 に追加し、プライベート宣言セクションに Visit メソッドを追加しました。
Unit1.cpp に以下を追加しました:
このコードはコンパイルおよび実行されますが、すぐにこのエラーが発生し、アプリケーションが終了します。
私はこれと戦うのにとても疲れています。RAD Studio C++ Builder でこれらの VisitDom、ViewSource、およびその他のメソッドをすべて使用する方法について、経験豊富な方からアドバイスをいただけますか? Delpi では、かなり簡単です。
PSそれが何とか役立つなら、ceflib.hppで次の宣言を見つけました:
c++ - C++ Builder での DCEF3、ICefCookieManager の取得方法
Rad Studio XE for C++ で DCEF3 をコンパイルしました。完全に機能しますが、Cookie の操作方法がわかりません。ICefCookieManager 型の変数を作成する必要があることを Delphi で読みましたが、C++ Builder でそのクラスを取得するにはどうすればよいですか? 手伝ってくれてありがとう。
delphi - TChromium : セッションを維持する方法
DCEF3 TChromium を使用している場合、どうすればセッションを維持できますか?
たとえば、Web サイトにアクセスしてログインした場合、アプリを閉じて再度開くと、再度ログインする必要があります。Google Chrome を使用する場合と同じように、セッションを維持したいと考えています。
アプリの「uses」句に「CefLib」を追加し、以下のコードのように「CefCache」を設定しようとしましたが、「cookies」フォルダーにファイルが保存されていることがわかりますが、セッションを維持することに違いはないようです:
前もって感謝します。
delphi - DCEF3 TChromium : DOM を反復し、ボタンをクリックする/入力を埋める
Internet Explorer が廃止されたため、すべてのアプリケーションで TWebbrowser を TChromium に置き換える (長い) プロセスを進めています。
TWebbrowser では、IHTMLElement インターフェイスを介して DOM にアクセスするための完全で十分に文書化されたインターフェイスがありました。
DCEF3 のドキュメントはほとんど存在しないため、(可能であれば) TChromium で DOM を反復および操作する方法の例を探しています。
- 要素の HTML ソースを選択/取得する
- ボタンをクリックします
- 入力を埋める
- コントロールにフォーカスする
それを行うためのネイティブインターフェースはありますか、それともjavascriptを直接使用する唯一の方法ですか?
どんな助けでも大歓迎です。
前もって感謝します !