2017-03-23 6 views
1

Google.comの.//*[@id='hplogo']という要素のスタイル属性を取得しようとしています。期待値はpadding-top:109px;(空白はありません)ですが、Seleniumが返す実際の値はpadding-top: 109px;:109の間のスペース)です。Seleniumが属性にスペースを追加するのはなぜですか?

HTMLにスペースがないと、なぜSeleniumがスペースを追加するのか分かりません。

私は手動でスペースを削除することができますが、私は、スペースが最初の場所に表示されないようにする方法があるかどうかを知りたいと思っています(主に実際のスペースを持つ他の属性値があり、実際にはスペースを持つ値からのスペース)。

Seleniumはいつ属性の途中にスペースを追加するのですか?どのように防止できますか?

おかげ

答えて

0

それはスペースを追加する方法getAttribute()が実装されているだけの方法です。 getAttribute()方法についてSelenium's Java API documentationによると :

「スタイル」属性が変換され、最良のように末尾にセミコロンでテキスト 表現にすることができます。

したがって、基礎となるセレンコードによって追加の領域が追加されたと仮定することは安全です。私は自分でスペースを取り除く以外に何もできないと思っています。

+0

この動作は「スタイル」属性のみで実装され、他の属性は実装されていないと考えるのは安全ですか?私はまだ彼らがなぜこれを行うのか理解していない..ありがとう。 –

+0

さて、あなたはそれがstyle属性だけであると安全に仮定できます。私は 'getAttribute()'がどのように実装されているかを調べるためにフードの中を調べてみましたが、意味のあるものは何も見つかりませんでした。 –

関連する問題