問題タブ [htmlelements]

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 投票する
0 に答える
654 参照

c# - 「クラス」属性を検索するときに GetAttribute 関数が値を返さない、常に空である

私は現在、HTTP リクエストと webBrowser コントロールを使用するC# ライブラリを開発しています。私のライブラリはWinDevプログラムで使用され、WinDev アプリケーションと Web プレートフォーム (agenda.ch) の間の直接リンクを作成します。少し WebScraping を使用する必要があったため、最初に HtmlAgilityPack を使用して開始し、それで問題なく動作しましたが、WinDev でライブラリを実行すると、HtmlAgilityPack HtmlDocument がインスタンス化されるとライブラリが突然停止します...その後、HtmlAgilityPack を削除することにし、必要な情報を取得するには、System.Windows.Forms HtmlElementクラスを直接使用します。

ここで問題が発生します。 foreach ループを使用してドキュメント内の各 HtmlElement をチェックする場合、そのクラス値をチェックするために GetAttribute() 関数しか使用できません。しかし、何らかの理由で返される値は常に空です。私はさまざまなテストを行いましたが、どれも論理的な応答を示していません。そのため、StackOverflow に目を向けました。id などの別の属性名を使用してみましたが、うまくいきました。クラス属性値を回復できない理由がわかりません。

これは、WebBrowser によって回復され、RecoverClients 関数に送信される HTML コードの一部です。

この種の問題に既に遭遇した場合、またはクラス名で HtmlElement を回復するための適切な手法を使用していない場合はお知らせください。

HtmlAgilityPack を使用できないことに注意してください。以前は問題なく動作していましたが、ライブラリが WinDev に実装されると問題が発生します...

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

java - ページファクトリ(@FindByを使用)なしで動的ページでHTML要素yandex qaツールのセレンラッパーを使用する方法

HTML要素yandex qaツールのセレンラッパーはうまく機能し、要素が@FindBy注釈で開始されたページオブジェクト上にありHtmlElementLoader.populatePageObject(this, ((WebDriverBrowser)Browser.getDriver()).getWebDriver());、ページオブジェクトコンストラクター内にある場合、要素を初期化します

しかし、ページのコンテンツが動的に変化する場合は、途中で @FindBy レイクを使用せずに HtmlElement を作成したいと考えています。

この場合、要素コンストラクターは次のようになります

エラーが発生しました:no such element: Unable to locate element

そして、要素を直接初期化しようとしても

エラーが発生しました

このような Html 要素ラッパーを使用することは可能ですか?