2013-06-12 35 views
2

我正在使用具有內嵌編輯功能的表格。要使單元格可編輯,請雙擊它。如何告訴Watir在表格單元格內雙擊的位置?

雖然我確切知道如何雙擊單元格,但我需要做的一些單元格中有超鏈接。

這意味着有時當Watir嘗試雙擊單元格時,它會意外地點擊超鏈接,導航到全新的頁面。

如何告訴它單擊單元格中的空白空間而不是超鏈接?

+0

這是用於watir-classic還是watir-webdriver? –

+0

watir-webdriver。謝謝! – Leelluu

回答

4

Watir-webdriver的元素#double_click將始終單擊元素的中間。如果您需要點擊其他地方,則需要使用底層的selenium-webdriver move_to操作構建器代碼。

由於HTML:

<html> 
    <body> 
     <table> 
      <tr> 
       <td onclick="javascript:document.title = 'New title';"> 
        <a href="http://www.google.ca">hi</a> 
       </td> 
      </tr> 
     </table> 
    </body> 
</html> 

使用關於雙擊單元格,點擊鏈接(因爲是在小區的中間):

el = browser.td 
el.double_click 
browser.title 
#=> "Google" 

但是,我們可以使用底層selenium-webdriver代碼將鼠標移動到不在中間的單元格中(即鏈接所在的位置)。下面將鼠標移動到單元格的左上角:

el = browser.td 
el.driver.action.move_to(el.wd, 0, 0).double_click.perform 
browser.title 
#=> "New title" 

注意,對於move_to method,第二個參數是多遠,從左上角向右移動,而第三個參數是如何的遠動從左上角落下。

相關問題