2016-12-14 104 views
0

我試圖用webdriverIO點擊網頁中的鏈接。 我可以導航到google.com頁面,然後輸入搜索詞。如何點擊webdriverIO中的鏈接

但是當我嘗試點擊一個包含我想要的文本的鏈接時,它不會點擊鏈接。

我在做什麼錯:

這裏是我的代碼:

var webdriverio = require('webdriverio'); 
var options = { 
    desiredCapabilities: { 
     //browserName: 'phantomjs' 
     browserName: 'chrome' 
    } 
}; 
webdriverio 
    .remote(options) 
    .init() 
    .url('http://www.google.com') 
    .setValue('*[name="q"]','webdriverio') 
    .click('*[name="btnG"]') 
    .pause(1000) 
    .getTitle().then(function(title) { 
     console.log('Title was: ' + title) 
    }) 
    .getText('=webdriver.io').then(function(text) { 
     console.log('Title was: ' + text); // outputs: "WebdriverIO" 
    }) 
    .end(); 

我正在webdriverIO與node.js的v6.9.2和硒獨立服務器3.0.1。

謝謝。

回答

1

找到了!!!

使用:

.click('[href="http://webdriver.io/"]') 

此格式爲我工作。

0

看起來他們已將「google搜索」按鈕的名稱更改爲「btnK」。嘗試在單擊命令中用'btnK'替換'btnG',看看它是否有效。

<input value="Google Search" aria-label="Google Search" name="btnK" type="submit" jsaction="sf.chk"> 
+0

不,這不是問題。我可以到google.com並搜索webdriverio就好了。它在頁面本身的鏈接上揀選,這是我的問題。 – ironmantis7x