これはSelenium Webdriver(Chromedriver)とCapybaraに関するパフォーマンスに関する質問です。Capybara/Selenium:ドロップダウンのスピードアップを選択していますか?
私はいくつかのデータを使って反応を選択するドロップダウンをいくつか持っています。何らかの理由で、反応選択は非常に長い時間がかかってオプションを選択します。コードは非常にシンプルで、私はここからそれをつかん:https://github.com/JedWatson/react-select/issues/832
しかし、それは基本的にダウンしています:
page.find('.Select-control').click
page.find('.Select-option', text: 'the text').click
事があり、これは正常に動作します。しかし、非常に長い時間がかかります(1分以内にドロップダウン)。今...カピバスの防衛では、これらのドロップダウンには選択肢がたくさんあるので、一番上の項目から選択するのが最速になると思ったが、それは影響を与えないようだ。
Capybara/Seleniumは別のソートリストの「オプション」を保持していますか?私はドロップダウンのトップオプションから選択する方が速くなると思うので、それはそうではありませんか?
ありがとう、それをスピードアップするものは私がこれらを試してみましょう。 Xpathを脆く使っていないのですか?特にオプションの注文が変更された場合は?あるいは、ここで影響を受けることはありません。 – msmith1114
@ msmith1114 XPathが脆いわけではありません。それは、Capybaraのほとんどの新しいユーザーがそれを使用しようとする方法が脆弱なものにつながることです。彼らは、ブラウザによって生成された本当に長いXPathをコピーしてCapybaraにドロップする傾向があります。つまり、少しのページ構造が変更された場合、期待される要素に対して無効です。これによって生成されるXPathは、要素の特定のクラスと要素のテキストのみを探します。一般的に、XPathはCSSよりも読みにくいので、可能であればCSSに固執する経験則がありますが、XPathではテキストコンテンツの一致機能はありません。 –
@ msmith1114これがあなたのために高速化するならば、答えを受け入れることを忘れないでください。 –