この問題を解決するのを手伝ってください。私はdevexpressを使って書かれたグラフを持っています。Seleniumが棒グラフを見つけることができません
http://image.ibb.co/hRD5oR/chart.png
そして私はセレンのようなテストを持っています。チャートを含むページを開き、すべての要素をクリックします(最小化/最大化、展開/折りたたみ)。
driver.findElement(By.xpath("/html/body/form/div[3]/div[2]/div[1]/div[1]/div/div[1]")).click();
Thread.sleep(1000);
driver.findElement(By.xpath("/html/body/form/div[3]/div[2]/div[1]/div[1]/div/div[1]")).click();
Thread.sleep(1000);
// Switch to a new window/Get the handle
String parentHandle = driver.getWindowHandle();
System.out.println("Before click Category 1");
// Click bar to open drilldown
//FSMSDashbopadObjects.NCbyReportCategoryBarCategory1(driver).click();
driver.findElement(By.xpath("/html/body/form/div[3]/div[2]/div[1]/div[2]/div/svg/g[8]/g/g/rect[1]")).click();
//*[@id="auditsByBrandDiversey"]/svg/g[8]/g/g/rect[1]
System.out.println("After click Category 1");
テストはこの段階で失敗した:
driver.findElement(By.xpath("/html/body/form/div[3]/div[2]/div[1]/div[2]/div/svg/g[8]/g/g/rect[1]")).click();
セレンは、このバーを見つけることができませんここでは、コードです。私はsvgにいくつかのニュアンスがあると思います。 解決方法を教えてください。
あなたのXパスは壊れやすいです。ターゲット要素へのパス内のタグを絞り込むことを検討してください。 –
要素は ''タグ内にあり、[Selenium WebDriver \ [Java \]:XPathを使用してSVG内の要素をクリックする方法(https://stackoverflow.com/questions/41829000/selenium-webdriver)の可能な複製です-java-how-to-click-on-svg-using-xpathの要素) –
DebanjanB