読み込んだDataTableの文言と同じものを探して対象データを抽出したい

ウェブサイトで表を指定し抽出したつもりなのですが…
600行目くらいから抽出したい内容(氏名等)がある状態です。
抽出の仕方が違うのでしょうか?

具体的な情報が無いので何とも言えませんが、取り方の問題か、あるいは回避が困難な場合は、取得後不要な情報を消す等が必要になると思います。

ありがとうございます。

再度取り直してみましたが、やはり結果は同じでした。
回避するというのはDataTableに格納後、行の削除を行うのでしょうか?

ウェブサイトに加入日という項目があります。
『yyyy/mm/dd』の形です。
加入日に『yyyy/mm/dd』がない行を削除するというのは可能ですか?

そうです。

加入日に『yyyy/mm/dd』がない行を削除するというのは可能ですか?

可能です。例えば代入アクティビティを用いて以下の式で可能かと思います。

dt = dt.AsEnumerable.Where(Function(r) DateTime.TryParse(r("加入日").ToString,New DateTime)).CopyToDataTable

ありがとうございます。

無事にDataテーブルの余計な部分の排除ができました!
表抽出テストとするとすべてのデータが抽出されるのですが
シナリオを実行すると1枚目のページしかデータが抽出されていないようです。
要素の協調で次へボタンが押されている?緑の枠は表示されますがページは切り替わりません。
表抽出テストではページが変わるのでうまく動いていないのでしょうか?
表抽出テストだと3分くらいかかっている様子なのですが
待機時間などを設定したほうが良いでしょうか?

要素の指定が良くないか、入力モードの問題あたりかと思います。
取り急ぎ、入力モードをHardwareEventにして解消するか確認してみてはと思います。

ありがとうございます。

ハードウェアイベントに変更し実行しましたがやはり
1ページ目しか抽出されませんでした。
表抽出テストではすべてのデータが抽出されているので
表抽出自体の要素の設定は問題ないと思っておりましたが
実行時に思うような動作をしないということはやはり問題があるのでしょうか?


まず抽出数の制限は、No Limit (制限なし)にしてください。
あとHardwareEventに設定している場合マウスカーソルが動くと思いますが、それは期待する場所に動いていますでしょうか?

画面下にスクロールすると表があるようなサイトで
RPA実行時に画面に表示されているのは選手情報登録画面となります。
次へボタンは、選手情報登録画面部分で緑の枠が囲われており
次へのボタンは押せていません。
たまに選手登録画面のラジオボタンにチェックを入れてしまうこともあります。
これが原因でしょうか?

今回、ブラウザーを使用⇒表抽出としているのですがブラウザを使用後、または
表抽出前に待機時間を設ければいいのでしょうか?

質問ばかりで申し訳ありませんがよろしくお願いいたします。

まずはセレクター自体に問題のあるケースが疑われますが、こちらでは試せませんので、
まずは待機を入れる等も含めて、お手元の環境でもろもろお試しください。

度々申し訳ありません。

こちらの件について調査したところ
背番号に重複はありませんが、
『氏名、氏名カナ、年齢』に重複するものが含まれていました。
おそらくこれが原因ですね。

システム開発時にテストで入力したものが約150件あるので
これを1つずつ抽出データの対象外とするのは大変ので
重複するものは表抽出の際のDataテーブルから外す、としたいです。
(新規で登録した選手の背番号を取得としたいので今後重複するデータは発生しない
想定です、)

『氏名、氏名カナ、年齢』の重複がないものを抽出し
読み込んだエクセルファイルと同じ情報の背番号を取得したいです。

よろしくお願いいたします。

以下の式で可能と思います。

dict = dt2.AsEnumerable.GroupBy(Function(r) Tuple.Create(r("氏名").ToString,r("氏名カナ").ToString,r("誕生日").ToString)).Where(Function(g) g.Count=1).ToDictionary(Function(g) g.Key,Function(g) g.First().Item("背番号").ToString)
1 Like

洋一さん

無事にエラーが回避できました!!
ありがとうございました!

1 Like

洋一さん

すみません、以前添付してくださったサンプルの件で再度質問させてください。

選択したExcelより格納したDataTableの『背番号』に値を入れる
(この時点ではDetaTable変数に格納されているだけ)
DataTableの内容をWrite Range WorkbookでExcelに書き込んでいる

:point_up_2:という認識でよろしいでしょうか?

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