最新バージョンでのouterHTMLの動作

574 views
Skip to first unread message

kacchin

unread,
Jun 2, 2021, 8:59:54 PM6/2/21
to 日本Seleniumユーザーコミュニティ
初めまして
SeleniumBASIC(ExcelVBA,ChromeDriverと組み合わせ)で10か月ほど使用してアプリケーションを開発しております。
当アプリは弊社社員100名以上に使ってもらっており、今まで問題は生じていませんでした。
ところが先月からデータが取得できない問題が生じています。
調べたところ下記のことがわかりました。
今まで下記の方法でHTML情報を取得していました。
Driver1.FindElementsByTag("sdo").item(i).Attribute("outerHTML")
ところが上記の文でHTML取得できなくなり空文字列が返ってくるようになっています。(このPCを①とする。)
上記と同時に下記の文を実行すると正常にテキストが返ってきますのでElementまでは正常に取得できていると思われます。 
Driver1.FindElementsByTag("sdo").item(i).text

同じソフトを別のPC(しばらく再起動していない)で実行すると上記2文は共に期待通りの値が返ってきます。 (このPCを②とする。)
テストは両者同じページで200件程度テストしました。再現性は100%あります。

PC①のバージョンは下記です。(動作異常)
ChromeDriver 91.0.4472.19
Chrome  91.0.4472.77
PC②のバージョンは下記です。(動作正常)
ChromeDriver  90.0.4430.24 
Chrome 90.0.4430.212
差はChrome及びChromeDriverのバージョンの差異しか見当たらないです。
90.0.4430.24 → 91.0.4472.19 でAttribute("outerHTML")の機能に何か差が出たとしか思えません。
何か情報をご存知の方おられましたらお教えください。
また別の方法でHTMLを取得できる方法をご存知であればお教えください。

よろしくお願いします。

kacchin

unread,
Jun 3, 2021, 10:12:22 AM6/3/21
to 日本Seleniumユーザーコミュニティ
当投稿で再現できるよう下記のように書きました。
これでも再現します。
  
    Dim Driver1 As New ChromeDriver
   
    s = Driver1.FindElementsByClass("gb_jf").item(1).Attribute("outerHTML")

2021年6月3日木曜日 9:59:54 UTC+9 kacchin:

kacchin

unread,
Jun 5, 2021, 2:51:57 AM6/5/21
to 日本Seleniumユーザーコミュニティ
.Attribute("innerHTML") であれば動作するようですので、これに書き換えることにしました。

2021年6月3日木曜日 23:12:22 UTC+9 kacchin:

kacchin

unread,
Jun 19, 2021, 2:32:56 AM6/19/21
to 日本Seleniumユーザーコミュニティ
最新のバージョン91.0.4472.101(2021/6/11)では不具合が治ったようです。

不具合のバージョン: 91.0.4472.19(2021/4/21)
最新のバージョン:91.0.4472.101(2021/6/11)
2021年6月5日土曜日 15:51:57 UTC+9 kacchin:
Reply all
Reply to author
Forward
0 new messages