2016-08-01 123 views
0

我刚开始使用Selenium,并且遇到了相当大的问题。我正在使用一个动态网站,我希望Selenium始终点击页面的顶部链接。所有链接开始与以下XPathXpath包含字符串

//*[@id='rList:0:itemFormClassic']/div[2]/h2/span/a 

我现在想知道,如果我xpath开始用字符串'rList:0:itemFormClassic']/div,所以我在

//*[starts-with(@id, ''rList:0:itemFormClassic']/div')] 

键入但这不起作用,因为符号已经包含在我的xpath中的'被视为我想要比较的实际字符串。

有谁知道我可以如何避免这种情况?

+0

我不熟悉的硒,但你尝试''"逃脱'''? –

+0

您是否尝试过使用双引号来包含字符串?你为什么要检查xpaths是否以?开头?你需要一个id为rList的元素选择器吗? – lauda

+0

尝试:'/ * [开始 - 与(@id,“'rList:0:itemFormClassic']/div”)]'..但是你确定你的元素ID是以''rList:0:itemFormClassic “]/div' ...? –

回答

1

使用双引号和转义。 这应该工作:

driver.findElement(By.xpath("//*[starts-with(@id, \"'rList:0:itemFormClassic]/div\")]"));