Java 如何使用SeleniumWebDriver获取CSS选择器?

Java 如何使用SeleniumWebDriver获取CSS选择器?,java,css,selenium,webdriver,Java,Css,Selenium,Webdriver,我正在尝试创建一个动态的“元素地图”,其中包含在横幅菜单中显示的元素,包括为每个菜单显示的链接。 此映射将存储在一个字符串[][]矩阵中,用于不同的方法和测试 为此,我获取元素的href属性,并为菜单中显示的每个链接创建自己的CSS选择器。这是我创建CSS的代码: CSS = (String)element.getAttribute("href").subSequence((element.getAttribute("href").length()-20), element.getAttribu

我正在尝试创建一个动态的“元素地图”,其中包含在横幅菜单中显示的元素,包括为每个菜单显示的链接。 此映射将存储在一个
字符串[][]
矩阵中,用于不同的方法和测试

为此,我获取元素的
href
属性,并为菜单中显示的每个链接创建自己的CSS选择器。这是我创建CSS的代码:

CSS = (String)element.getAttribute("href").subSequence((element.getAttribute("href").length()-20), element.getAttribute("href").length());

CSS="a[href*='" + CSS +"']";
这很好,但我有一些链接运行一些JavaScript代码,我无法为它们创建CSS选择器

还有其他方法可以从WebElement获取CSS选择器吗?
使用Firebug我可以获得CSS路径。我可以在执行WebElement时获得这个CSS路径吗?还有其他建议吗?

答案是否定的。不能从WebElement提取CSS选择器


为什么??因为WebElements本身是由
by
类找到的。。如果指定的
By
xpath
,该怎么办?它将如何填充CSS选择器?

您好,谢谢您的回答。好的,我不能得到一个CSS选择器,但是,你知道,我如何为一个调用js的链接创建一个CSS选择器?我想把这个标识符添加到一个字符串矩阵中,以便以后使用,并避免对它们进行编码…,有什么建议吗?再次感谢你。是的,你可以。如果您的链接使用的是
onclick
,那么只需使用
a[onclick*='which']
如果它使用的是类似href的内容,请执行相同的操作
a[href*='whatever']
您好,谢谢您的回复,不幸的是链接没有使用onclick,我不能使用href,因为它正在调用js,我想,我要改变存储元素的方式,而是为每个元素创建一个带有CSS选择器的字符串矩阵,我将创建一个带有链接的WebEleemt矩阵,并在需要时询问它们的属性,它应该以相同的方式工作,并解决当前的问题。再次感谢!米格尔,我喜欢这里阿卡什提供的解决方案-