5

((RemoteWebElement) webElement).getId()次のような文字列を返す を使用して、Selenium で要素の ID を取得できます。

{e9b6a1cc-bb6f-4740-b9cb-b83c1569d96d}

そのIDの由来が気になります。を使っているのですFirefoxDriver()が、この Firefox が関係しているのでしょうか?

このIDを知るだけでJqueryで要素を選択する方法はありますか?

4

2 に答える 2

8

内部 ID にアクセスする必要はまったくありません。WebElement インスタンスを JavascriptExecutor.executeScript に渡すだけです。

import org.openqa.selenium.JavascriptExecutor;

((JavascriptExecutor) driver).executeScript("$(arguments[0]).whatever()", myElement)
于 2011-04-11T19:45:00.350 に答える
2

この多数の文字と数字の ID は、WebElement オブジェクトに対応するブラウザー DOM 内のノードの内部識別子です。

属性「id」の値を取得するには、getAttribute メソッドを使用する必要があります。

String id = myElement.getAttribute("id");

「id」属性で要素を選択するには、次のように findElement メソッドを使用する必要があります。

WebElement myElement = driver.findElement(By.id("my_element_id"));

jQuery セレクターを使用する場合は、次のように findElement メソッドを使用する必要があります (「div」要素であることがわかっているとします)。

WebElement myElement = driver.findElement(By.cssSelector("div#my_element_id"));
于 2011-04-11T12:20:00.633 に答える