3

次のHTMLコードのスニペットがあります。

<div style="float:right; padding-right: 50px; margin-top: -10px;" id="divTooltips">
<img width="25px" height="25px" src="/mkteditor/css/images/tooltip.png" alt="">
</div>

tooltip.pngの上にマウスを置くと、ツールチップテキスト「一番上のヘルプテキスト」が表示されます。WebDriverのtooltipTextを確認したい。どうやってするの?

4

5 に答える 5

3

ツールチップがあるときはいつでも、「title」属性がそこにあります。(私の観察によると)。

例:http ://www.linkedin.com/にアクセスし、LinkedIn画像のHTMLコードを上部に表示します。LinkedIn

    WebDriver driver = new InternetExplorerDriver();
    driver.get("http://www.linkedin.com/");
    WebElement onElement = driver.findElement(By.xpath("html/body/div[1]/div[1]/div/h2/a"));
    System.out.println("Tooltip : " + onElement.getAttribute("title"));
于 2012-11-27T09:18:26.230 に答える
3

私の観察によると、要素にフォーカスするとツールチップが表示されるたびに、マウスのフォーカスで表示される「div」内に表示されます。

ここに私が提案するものがあります、

  1. アクションクラスを使用して要素に移動する

    アクション アクション = 新しいアクション (ドライバー); action.moveToElement('element_to_be_focused').build().perform();

  2. ツールチップにテキストが表示されるので、そのテキストを読んで、それが言及されているページ ソース HTML から要素を見つけます。

  3. 次に、ツールチップ テキストを持つ要素が表示されるのを待つコードを記述します。

    new WebDriverWait(driver, timeOutInSeconds).until(ExpectedConditions.visibilityOfElementLocated('element_locator'));

  4. を使用してツールチップ要素からテキストを取得します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();

これがあなたを助けることを願っています!

于 2016-12-20T09:53:27.927 に答える
0

以下を使用して、ツールチップ テキストを確認できます。

try{
    String tooltipText = "help text at top place";
    String tooltipTextToVerify = driver.findElement(By.id("divTooltips").getAttribute("title");
      if (tooltipText.equels(tooltipTextToVerify)){
         return true;
      else {return false;}
}
于 2014-12-25T15:49:31.577 に答える
0

あなたはこれを使うことができます

WebElement element = driver.FindElement(By.id("divTooltips");
 string titleText = element.getAttribute("title");

タイトルは titleText 文字列に格納されるようになりました。ツールチップが非表示になっていて、その上に非表示のテキストを表示したい場合は、これを確認してください

楽しみ!

于 2014-02-07T13:52:06.163 に答える