ページ上の特定のリンク先URLをすべて取得したい

UiPath Studio初心者です。

あるWebページ上に存在するすべてのエクセル・PDFファイルのリンク先URL(.xls、.xlsx、.pdf)を取得したいです。
以下二通り試したのですがうまくいきません。

①「子要素を探す」でフィルターに

<webctrl href=’(.*xls.*)|(.*pdf)’ matching:href=‘regex’/>

と指定して変数にUIElementを格納し、そのあと繰り返し(コレクションの各要素)内で「属性を取得」で「“href”」と入力し取り出そうとしようとしたのですが、エラーが起きてだめでした。
ブラウザーで直接指定した要素についてはhref属性の取得がうまくいくのに、上記だとうまくいかないのが理解できません…

②「構造化データを抽出」でメタデータ抽出の値を①と同様の感じで正規表現で記述しようとしましたがうまくいきませんでした。

いい方法があったらご教示いただけると幸いです。

こんにちは

上記の条件式は正規表現がサポートされていないと思います。
単純な静的リンクの抽出であれば、Get Attribute (属性を取得)アクティビティで
HTMLのBody要素を指定、属性としてinnerhtmlを指定して内部のHTMLを取得。
これに対して例えば下記のような正規表現で必要な情報を抽出したら良いように思えます。

System.Text.RegularExpressions.Regex.Matches(strInnerHtml,"(?<=href=['""]).*?(\.pdf|\.xlsx?)(?=['""])",System.Text.RegularExpressions.RegexOptions.IgnoreCase)
1 Like

できました!!大変助かりました。迅速なご回答、ありがとうございました。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.