Как обрабатывать всплывающие подсказки в селене Java - PullRequest
0 голосов
/ 30 апреля 2019

Изображение всплывающей подсказки Невозможно обработать всплывающую подсказку с помощью getAttribute и getText в Селене Java.Ниже приведен код

HTML:

<span class="exclude-syndicated-hint hint--top" data-hint="Programs like 
&quot;The Today Show&quot; are often syndicated across major networks and 
play on a variety of channels. Checking this box will only give you a 
single copy of the program.">
<i class="syndicated-hint-icon fa fa-info-circle"></i>                                   
</span>

JAVA:

@FindBy(xpath = "//i[@class='syndicated-hint-icon fa fa-info-circle']") 
public WebElement tooltip; 
public String settooltip() 
{ 
    Actions a = new Actions(driver); 
    a.moveToElement(tooltip).perform(); 
    String actualTooltip = tooltip.getAttribute("data-hint"); 
}

Ответы [ 2 ]

2 голосов
/ 30 апреля 2019
 // Create action class object
Actions builder=new Actions(driver);

// find the tooltip xpath
WebElement _tooltip=driver.findElement(By.xpath("//span[@class='exclude-syndicated-hint hint--top']));


// Mouse hover to that text message
builder.moveToElement(_tooltip).perform();


// Extract text from tooltip
 String tooltip_msg=_tooltip.getAttribute("data-hint");


 // Print the tooltip message just for our refrences
 System.out.println("Tooltip message is "+tooltip_msg);
0 голосов
/ 30 апреля 2019

Попробуйте это: -

Вам нужно вызвать perform() для Actions методов класса.

Сначала нам нужно создать новый экземпляр построителя действий , передав экземпляр webdriver .

Подробнее о moveToElement

Для получения дополнительной информации о действиях при наведении мыши прочитайте this

Actions toolAct = new Actions(driver);
toolAct.moveToElement(element).build().perform();
WebElement toolTipElement = driver.findElement(By.xpath("//span[@class='exclude-syndicated-hint hint--top']));
String toolTipText = toolTipElement.getText();
System.out.println("tooltip :- "+toolTipText);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...