Selenium - 无法在[链接] http://www.cartasi.it/gtwpages/index.jsp上找到基于CSS元素的密码字段元素

时间:2016-09-18 17:04:20

标签: java selenium selenium-webdriver selenium-ide

我正在尝试使用CSS选择器从链接http://www.cartasi.it/gtwpages/index.jsp中找到密码字段元素。以下是我用于其他网站的代码,除了提供的链接外,它适用于所有网站。

 pwd=driver.findElement(By.cssSelector("input[type='password']")) 

并检查了网站的源代码,但我没有在代码中找到任何type =“password”关键字。 我觉得发布整个网站的源代码会产生混乱因此给了链接参考。 可能导致隐藏此密码的原因是什么?如何使用CSS选择器找到元素?任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

该页面上的密码字段位于iframe

<iframe width="254" height="120" frameborder="0" src="https://titolari.cartasi.it/portal/login/login.xhtml" marginheight="0" marginwidth="0" scrolling="no">
...
<input id="loginForm:password" class="ui-inputfield ui-password ui-widget ui-state-default ui-corner-all" type="password" tabindex="2" placeholder="" name="loginForm:password" role="textbox" aria-disabled="false" aria-readonly="false">

所以你需要先切换到iframe,然后使用你的选择器:

driver.switchTo().defaultContent(); // make sure you are on main page
driver.switchTo().frame(
    driver.findElement(By.xpath("//iframe[contains(@src, 'login.xhtml')]")));
pwd=driver.findElement(By.cssSelector("input[type='password']")) 

当然,您可以将xpath / selection方法更改为您喜欢的任何方法。