2013-05-13 186 views
4

我有一个按钮:按钮点击硒的Java

<input type="button" onclick="onOpenSessionClick()" value="Open device access">  

但是当我做了命令:

driver.findElement(By.xpath("//input[@value='Open access device' and @type='submit']")).click(); 

的点击没有。 这里是我的代码:

if (isElementPresent((By.xpath("//input[@value='Open device access']")))) 
{ 
    System.out.println("Je suis dans le if"); 
    Thread.sleep(2000); 
    driver.findElement(By.xpath("//input[@value='Open device access' and @type='submit']")).click(); 
    System.out.println("Je suis dans le if et jai open"); 
    Thread.sleep(5000); 
    assertTrue(isElementPresent(By.xpath("/html/body/div[2]/div[3]/div[3]/div[2]/div/div[2]/div[2]/div/div[6]/div/div/div/p/span")));      
    assertTrue(isElementPresent(By.xpath("/html/body/div[2]/div[3]/div[3]/div[2]/div/div[2]/div[2]/div/div[6]/div/div/div[2]/input")));      
    assertTrue(isElementPresent(By.xpath("/html/body/div[2]/div[3]/div[3]/div[2]/div/div[2]/div[2]/div/div[6]/div/div/div[2]/input[2]")));      
    System.out.println("Je suis dans le if et je cherche"); 
} 
+0

我也有同样的问题,任何解决方案?在我的情况下,浏览器被激活,A..B..C然后当它到达点击该按钮时,浏览器关闭。 – bademba 2016-08-13 09:08:43

回答

3

type你的情况是button,不submit

试试这个//input[@value='Open device access']//input[@value='Open device access' and @type='button']

+0

谢谢 我的问题是不是点击,但最后是按钮是在JavaScript手风琴。 但是元素不可见,所以我认为JavaScript没有执行。 解决方案? – 2013-05-14 08:27:04

+0

我完全不了解一个问题,请提供更多详细信息? – Ievgen 2013-05-14 10:07:53

2

你也能尝试的CSS选择器这一个

driver.findElement(By.cssSelector("input[type='button'][value='Open device access']")).click(); 

driver.findElement(By.cssSelector("input[type='button']")).click(); 
+0

谢谢我的问题是不是点击,但最后是按钮是在JavaScript手风琴。但该元素不可见,所以我认为JavaScript没有执行。一个办法? – 2013-05-14 08:30:17

+0

你可以看看这个[链接](http://stackoverflow.com/questions/11947832/how-to-click-a-button-in-webdriver-using-javascript)。我想可能是这会解决你的问题但是没有完全确定。 – Omkar 2013-05-14 08:53:31

+0

谢谢,但我想我的webdriver seveur不执行JavaScript。本地所有我的脚本工作。 我的服务器位于Debian 1.6.0和Iceweasel – 2013-05-14 09:12:32

-1

刚刚尝试下面的代码为click

selenium.focus("name=Valuation"); //name of button 
selenium.click("Valuation"); //pass that name to click 
+0

OP使用Webdriver绑定而不是原始Selenium。 – 2015-02-06 09:08:56

0

您可以检查此按钮是否在框架上。如果是,那么你需要切换到框架,然后找到并单击。

希望这会帮助你。