2017-05-12 54 views
-2

我试图自动化LinkedIn配置文件的编辑部分。我发现编辑我的配置文件的钢笔图标是一个SVG元素,我无法使用XPATH找到它。有人可以帮助将XPATH转换为SVG格式,以便我可以使用它吗?无法点击使用硒的SVG元素

如果可以提供相同的文档,也将不胜感激。提前致谢。

我现在用的是一般的XPath点击图标:

driver.findElement(By.xpath("//svg[@class='artdeco-icon']")).click; 

截图网址:https://www.screencast.com/t/d21Ap1XsMVt

错误日志链接:https://drive.google.com/open?id=0B-gsMUPbAIhxQTJiSXViZTZlelU

+1

你可以看看这个链接(http://stackoverflow.com/questions/41829000/selenium-webdriver-java-how-to-click-on-elements-within-an-svg-using-xpath)帮你。否则让我知道我们会帮助你。谢谢 – DebanjanB

+0

@Dev:跟随你的链接,但无法理解如何构建路径。能否请你帮忙 ? 所以我们的想法是点击SVG元素[截图中的钢笔图标]:driver.findElement(By.xpath(“// svg [@ class ='artdeco-icon']”))。click;是我发现的xpath。 谢谢 – Dannie

+0

重复http://stackoverflow.com/questions/30940736/protractor-click-on-svg-element-not-work。还有其他线程也在这个问题已经答案。请搜索它们。 –

回答

1

你可以试试下面XPath表达式匹配所需的图标:

//span[text()="Edit Profile"]/following::*[local-name()="svg"] 
+0

@安德森:请检查xpath我共享。我没有看到任何地方的跨度。 – Dannie

+0

但它有:)在LinkedIn页面上。你试过我的'XPath'吗? – Andersson

+0

是的,安德森找到了!非常感谢。解决了我的问题。 – Dannie

0

这里是您的问题的解决方案-

如果您的测试步骤是单击铅笔图标来编辑您的配置文件,则需要仔细查看HTML DOM。铅笔图标不在任何SVG元素内。

您可以通过铅笔图标点击:

driver.findElement(By.xpath("//div[@class='core-rail']/section[1]/a[1]")).click();

让我知道如果这个回答你的问题。