2013-05-13 184 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

您可以檢查此按鈕是否在框架上。如果是,那麼你需要切換到框架,然後找到並單擊。

希望這會幫助你。