私の観察によると、要素にフォーカスするとツールチップが表示されるたびに、マウスのフォーカスで表示される「div」内に表示されます。
ここに私が提案するものがあります、
アクションクラスを使用して要素に移動する
アクション アクション = 新しいアクション (ドライバー); action.moveToElement('element_to_be_focused').build().perform();
ツールチップにテキストが表示されるので、そのテキストを読んで、それが言及されているページ ソース HTML から要素を見つけます。
次に、ツールチップ テキストを持つ要素が表示されるのを待つコードを記述します。
new WebDriverWait(driver, timeOutInSeconds).until(ExpectedConditions.visibilityOfElementLocated('element_locator'));
を使用してツールチップ要素からテキストを取得しますgetText()
例を挙げるには、ここをクリック
特定の Web サイトで、年齢を尋ねるテキスト ボックスにマウス ポインターを合わせると、「年齢は統計目的でのみお尋ねします」というツールチップが表示されます。
以下は、ツールチップ テキストを取得するためのコード スニペットです。
WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS);
driver.manage().window().maximize();
driver.get("https://jqueryui.com/tooltip/");
driver.switchTo().frame(driver.findElement(By.xpath("//iframe[@class='demo-frame']")));
new Actions(driver).moveToElement(driver.findElement(By.xpath("//input[@id='age']"))).build().perform();
boolean isToolTipDisplayed = driver.findElement(By.xpath("//div[@class='ui-tooltip-content']")).isDisplayed();
System.out.println("Is Tooltip displayed ? : " + isToolTipDisplayed);
if (isToolTipDisplayed) {
String tooltipText = driver.findElement(By.xpath("//div[@class='ui-tooltip-content']")).getText();
System.out.println("Tooltip Text:- " + tooltipText);
}
driver.switchTo().defaultContent();
driver.quit();
これがあなたを助けることを願っています!