マイページにはボタン、textboxex、select要素があります。しかし、PageFactory.initElements(driver、MyPage.class)を使用してページオブジェクトを初期化するとき、Select要素以外のすべての要素が初期化されます。セレンのページファクトリを使用して異なるWeb要素を単一ページで初期化するにはどうすればよいですか?
これは、FieldDecoratorまたはElementLocatorFactoryによって実現できます。しかし、私はそれらを使う方法を知らない。
この記事を参考にしてください。
代わりにWebElementを使用して選択して解決します。私はそれを使用しました。しかし、Web要素からselectオブジェクトを作成するよりも、Selectオブジェクトを直接取得したいと考えています。 コード規約については、あなたが正しいです。しかし、xpathsの中で直接idを使うと、要素は可視の例外ではありません。だからこそ私はこのように使いました。 –
これを見てください。 https://github.com/oraz/selenium。 FieldDecoratorを拡張することで実装されています。直接作業するか、修正する必要があります。すべての選択操作を、ページオブジェクトから呼び出せる別のクラスに移動してみてください。非常に奇妙なidで表示されない要素についてidsはブラウザから直接使用するときに機能しますか? – Grasshopper
は複雑なようです。 –