使用cssSelector查找元素时遇到参数,该参数位于URL

时间:2016-10-21 11:46:10

标签: java selenium selenium-webdriver css-selectors

我的申请表中有一个链接,如下所述:

<a title="xyz" href="abc/home?locale=en"> some text </a>

我写了一个cssSelector来获取这个元素。 a[href*='home?locale=en'] 问题是这个css选择器在Firebug,Firepath和Chrome控制台中运行良好。但是它没有使用Selenium WebDriver识别元素,即By.cssSelector("a[href*='home?locale=en']")不起作用。

我发现字符?是问题所在。但是我不知道如何绕过它。

2 个答案:

答案 0 :(得分:0)

使用hrefBy.linkText()来识别元素,而不是将By.partialLinkText()与cssSelector一起使用。尝试以下选择器。

driver.findElement(By.partialLinkText('some text'))

答案 1 :(得分:0)

问题是我的服务器在href之后附加了一个jsessionid。浏览器端没有附加jsessionId。

System.out.print期间的

href https://abc/home;jsessionid=3213323123123AAA3232?locale=en

浏览器端的相同href: /abc/home?locale=en