0

私は、Java と Selenium Webdriver 2.44 を使用してプロジェクトに取り組んでいます。テキストの最も近い要素が必要です。たとえば、ページに電子メールのテキストがあり、最も近い要素であるテキスト ボックスが必要です。facebook.com で以下の xpath クエリを実行しました。ただし、電子メールとテキストの入力タイプの数字が検出されます。Selenium webdriver を使用しているため、jQuery を実行する必要はありません。

.//*[contains(text(),'Email')]/following::input[@type='email' or @type='text']

ページ上の最も近い要素を見つけるための xpath クエリを誰でも提供できますか? または、クエリの方法を学習できるチュートリアル サイトです。 ここに画像の説明を入力

4

1 に答える 1

1

Facebookのシナリオでは、最初の要素を次のように見つけることができますが、完璧な解決策ではありません。

(.//*[contains(text(),'Email')]/following::input[@type='email' or @type='text'])[1]

使用できるクエリに複数の要素を取得する場合に追加するもう 1 つのこと:

List<WebElement> txtList = new ArrayList<WebElement>();
txtList = driver.findElements(By.xpath(".//*[contains(text(),'Email')]/following::input[@type='email' or @type='text']"));

と使用txtList.get(0).sendKeys("abcd");

于 2015-02-11T13:26:24.830 に答える