如何点击 Selenium 中的 svg 元素 Java
How to click on svg element in Selenium Java
我在点击 selenium 中的 svg 元素时遇到问题 Java。
HTML代码:
我已经尝试了下一个代码示例,但它们没有帮助。
Actions action = new Actions(webDriver);
action.click(webElement).build().perform();
JavascriptExecutor executor = (JavascriptExecutor) webDriver;
executor.executeScript("arguments[0].click;", webElement);
Actions action = new Actions(webDriver);
Thread.sleep(2000);
action.moveToElement(webElement).click().build().perform();
我没有遇到任何异常或错误。但是不能点击SVG元素
有哪些解决方案?
所需的元素是 svg element so to on the element you need to induce for the and you can use either of the following :
selenium4 compatible code
使用 cssSelector:
new WebDriverWait(driver, Duration.ofSeconds(10)).until(ExpectedConditions.elementToBeClickable(By.cssSelector("div[placement='bottom'] svg"))).click();
使用 xpath:
new WebDriverWait(driver, Duration.ofSeconds(10)).until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@placement='bottom']//*[name()='svg']"))).click();
参考资料
您可以在以下位置找到一些相关的详细讨论:
我在点击 selenium 中的 svg 元素时遇到问题 Java。
HTML代码:
我已经尝试了下一个代码示例,但它们没有帮助。
Actions action = new Actions(webDriver);
action.click(webElement).build().perform();
JavascriptExecutor executor = (JavascriptExecutor) webDriver;
executor.executeScript("arguments[0].click;", webElement);
Actions action = new Actions(webDriver);
Thread.sleep(2000);
action.moveToElement(webElement).click().build().perform();
我没有遇到任何异常或错误。但是不能点击SVG元素 有哪些解决方案?
所需的元素是 svg element so to
selenium4 compatible code
使用 cssSelector:
new WebDriverWait(driver, Duration.ofSeconds(10)).until(ExpectedConditions.elementToBeClickable(By.cssSelector("div[placement='bottom'] svg"))).click();
使用 xpath:
new WebDriverWait(driver, Duration.ofSeconds(10)).until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@placement='bottom']//*[name()='svg']"))).click();
参考资料
您可以在以下位置找到一些相关的详细讨论: