2017-05-18 12 views
1

スパンタグに要素を配置する際に問題があります。Javaでツールチップのスパン要素を見つける方法

マウスを置いたときに表示されるツールチップの一部を取ります。

私は、次の画像でお見せしましょう:私はその点で私のマウスを置くhttps://i.stack.imgur.com/b1qTg.jpgdata from tooltip

は、ツールチップが表示されます。 Selenium WebdriverのWebページのテキストを検証するために、そのデータを取得する必要があります。

私は、XPathでこのコードを試してみたが、それはすべてのデータを返しません:

//dot of the highchart where I put my mouse to see the tooltip. Selenium Webdriver doesn't find it and it causes an error, it stops the execution here 

WebElement element = driver.findElement(By.xpath(".//*[@id='highcharts-4']/svg/g[5]/g[2]/path[5]")); //dot's xpath 

// Use action class to mouse hover on the dot 
Actions action = new Actions(driver); 
action.moveToElement(element).build().perform(); 
WebElement toolTipElement = driver.findElement(By.xpath(".//*[@id='highcharts-4']/div[1]/span"));  //xpath of the shown tooltip 

// To get the tool tip text 
String toolTipText = toolTipElement.getText(); 

任意のアイデアは、内部にそのデータを取得することができますします?あなたの助けをありがとう!!!!!

+0

は、マウスのホバーが働いているとツールチップが表示されますか? – Sighil

+0

@UserMB 'highchart'要素は、デフォルトの' xhtml'名前空間内にないsvg要素です。むしろ 'svg'名前空間の中にあります。したがって、名前空間についても言及する必要があります。 – DebanjanB

+0

@Sighilドット上でマウスを動かすと、ツールチップが表示されます。 – UserMB

答えて

0

ドットをクリックして解決しました!

//私のコード WebElement要素= driver.findElement(By.xpath(」.// [ID @ = 'highcharts-4']/ [名前()= 'SVG']/[名前()= 'g'] [5]/ [name()= 'g'] [2]/* [name()= 'path'] [1] "));以下

// Use action class to mouse hover on Text box field 
    Actions action = new Actions(driver); 
    action.click(element).build().perform(); 
0

使用:

\\first click the dot using your code: 
Actions action = new Actions(driver); 
action.click(element).build().perform(); 

\\then use following code to get your data : 

System.out.println("First line of Tooltip" + driver.findElement(By.cssSelector("div > div.highcharts-tooltip > span span:nth-child(1) > b"))); 

System.out.println("Second line of Tooltip" + driver.findElement(By.cssSelector("div > div.highcharts-tooltip > span span:nth-child(2) > b"))); 
関連する問題