cancel
Showing results for 
Search instead for 
Did you mean: 

SFDCのGUI変更によるPathへの影響について

TetsujiJunicho
Level 9
お世話になります。
アクセンチュアの十二町と申します。

SFDCのLightningモードにて、FirefoxのExtensionを使用してWebモードでSpyしております。
SFDCは年間数回GUIが自動アップデートされることは有名ですが、Dev/ST/UAT/Production/Sandbox等の環境を切り替えただけでも、見た目上のGUIの変更はないように見えても、HTMLのDOMのPathが微妙に変更されます。

例として、以下のようなPathの変更があります。

  1. /HTML[1]/BODY[1]/DIV[5]/DIV[1]/SECTION[1]/DIV[1]/DIV[1]/DIV[1]/DIV[2]/DIV[1]/DIV[1]/DIV[2]/DIV[2]/DIV[2]/DIV[1]/ARTICLE[1]/DIV[2]/HEADER[1]/DIV[2]/H2[1]/A[1]/SPAN[1]
  2. /HTML[1]/BODY[1]/DIV[5]/DIV[1]/SECTION[1]/DIV[1]/DIV[1]/DIV[1]/DIV[2]/DIV[1]/DIV[1]/DIV[1]/DIV[2]/DIV[2]/DIV[2]/DIV[1]/ARTICLE[1]/DIV[2]/HEADER[1]/DIV[2]/H2[1]/A[1]/SPAN[1]
  3. /HTML[1]/BODY[1]/DIV[5]/DIV[1]/SECTION[1]/DIV[1]/DIV[1]/DIV[1]/DIV[2]/ONE-RECORD-HOME-FLEXIPAGE2[1]/FORCEGENERATED-FLEXIPAGE_PP_JOINAPPFORMPPDDOWNLOAD__C[1]/FLEXIPAGE-RECORD-HOME-TEMPLATE-ESKTOP2[1]/DIV[1]/DIV[2]/DIV[2]/SLOT[1]/SLOT[1]/FLEXIPAGE-COMPONENT2[2]/SLOT[1]/FLEXIPAGE-AURA-WRAPPER[1]/DIV[1]/DIV[1]/ARTICLE[1]/DIV[2]/HEADER[1]/DIV[2]/H2[1]/A[1]/SPAN[1]
  4. /HTML[1]/BODY[1]/DIV[5]/DIV[1]/SECTION[1]/DIV[1]/DIV[1]/DIV[1]/DIV[2]/DIV[1]/ONE-RECORD-HOME-FLEXIPAGE2[1]/FORCEGENERATED-FLEXIPAGE_PP_JOINAPPFORMPPDDOWNLOAD__C[1]/FLEXIPAGE-RECORD-PAGE-DECORATOR[1]/SLOT[1]/FLEXIPAGE-RECORD-HOME-TEMPLATE-DESKTOP2[1]/DIV[1]/DIV[2]/DIV[2]/SLOT[1]/SLOT[1]/FLEXIPAGE-COMPONENT2[2]/FORCE-PROGRESSIVE-RENDERER[1]/SLOT[1]/SLOT[1]/FLEXIPAGE-AURA-WRAPPER[1]/DIV[1]/DIV[1]/ARTICLE[1]/DIV[2]/HEADER[1]/DIV[2]/H2[1]/A[1]/SPAN[1]

Pathの間に何らかのDOM要素(DIVタグ等)が挿入されるのですが、要素の階層数が固定でなく、SFDC固有のタグも挿入されるため、予測が困難です。

名称(タグの要素名)でのSpyも考えましたが、時間がかかりすぎるため断念しました。
Region Modeによる方法もオプションとしてありますが、なにかBest Practice的なものがあれば、ご教授のほどよろしくお願い致します。




------------------------------
Tetsuji Junicho
Manager of RPA Practice Grp.
Accenture Japan
Asia/Tokyo
------------------------------
3 REPLIES 3

Anonymous
Not applicable
Path の変更にある程度、規則性があるならば、
動的パスにして相対パスっぽく取ることも可能だと思いますが、
それが無いとなると・・・
Regionモード、Web APIも視野に入れ、総合的な検討が必要になるかと思います。


> Blue Prism ユーザーの皆さま

もし、同様のことでお困りであったり、工夫をお持ちであれば、
ぜひ、共有いただけますと幸いです!

よろしくお願い申し上げます☆

------------------------------
市川 義規
Blue Prism 株式会社
エバンジェリスト
---
Yoshinori Ichikawa
Japan Evangelist
Blue Prism Ltd
Asia/Tokyo
------------------------------

​例示頂いている4件については、末尾が以下のPathになっているようですね。

 /DIV[1]/ARTICLE[1]/DIV[2]/HEADER[1]/DIV[2]/H2[1]/A[1]/SPAN[1]

Path属性をDynamicにして、実際に操作する際に
以下のようにWildcardとしてみたらどうでしょうか?

 "*" & "/DIV[1]/ARTICLE[1]/DIV[2]/HEADER[1]/DIV[2]/H2[1]/A[1]/SPAN[1]"

かなりPathが深いので、該当エレメントをBPが見つけるのに、相当なCPUパワーを使いそうです。
見つけられるかも知れませんが、時間がかかってしまう可能性が大ですね・・・。

------------------------------
Toshihide Shimizu
Manager of RPA CoE
Accenture
Asia/Tokyo
------------------------------

市川さん、清水さん
ご返信ありがとうございます。

 "*" & "/DIV[1]/ARTICLE[1]/DIV[2]/HEADER[1]/DIV[2]/H2[1]/A[1]/SPAN[1]"​

より絞り込むためには、頭の固定部分も追加したほうがよさそうですね。

 "/HTML[1]/BODY[1]/DIV[5]/DIV[1]/SECTION[1]/DIV[1]/DIV[1]/DIV[1]/DIV[2]/" & "*" & "/DIV[1]/ARTICLE[1]/DIV[2]/HEADER[1]/DIV[2]/H2[1]/A[1]/SPAN[1]"​


------------------------------
Tetsuji Junicho
Manager of RPA Practice Grp.
Accenture Japan
Asia/Tokyo
------------------------------