私はRuby1.8.7でSeleniumWebDriverをいじっています。ほとんどのアイテムは何かで簡単に見つけることができますbrwsr.find_element(:link, 'Click Here')
が、すべてがこの方法でアクセスできるわけではありません(少なくとも、私が知っている:link、:tag_nameなどのセットでは)。
したがって、上記の戦略で要素を見つけようとして何時間も無駄にした後、私はいくつかのxpathの例に出くわしました。xpathに関して否定的な投稿(ここでは主にStackOverflow)をたくさん見たので、これまでわざわざ調べたことはありませんでした。
私は長所と短所に関するGoogleグループの投稿を見つけました、そして唯一の短所はそれがIEでより遅いということでした。私は現在Linux環境(したがってFirefoxとChrome)ですべての作業を行っているので、IEで遅くなることを気にしません。
私は現在xpathを約2週間使用していますが、テストスクリプトの開発時間はおそらく半分です。そして、find_elementでxpathを使用すると、常に正しい要素を取得するように見えますが、以前は上記の非xpathメソッドでいくつかの問題がありました。
「できればxpathの使用を本当に避けたい」という数を考えると、私が見たコメントの数を考えると、何が欠けているのか疑問に思います。それとも、xpathは正規表現のようであり、それを理解している人々はそれを愛しているのでしょうか。