2
我正在使用具有內嵌編輯功能的表格。要使單元格可編輯,請雙擊它。如何告訴Watir在表格單元格內雙擊的位置?
雖然我確切知道如何雙擊單元格,但我需要做的一些單元格中有超鏈接。
這意味着有時當Watir嘗試雙擊單元格時,它會意外地點擊超鏈接,導航到全新的頁面。
如何告訴它單擊單元格中的空白空間而不是超鏈接?
我正在使用具有內嵌編輯功能的表格。要使單元格可編輯,請雙擊它。如何告訴Watir在表格單元格內雙擊的位置?
雖然我確切知道如何雙擊單元格,但我需要做的一些單元格中有超鏈接。
這意味着有時當Watir嘗試雙擊單元格時,它會意外地點擊超鏈接,導航到全新的頁面。
如何告訴它單擊單元格中的空白空間而不是超鏈接?
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,第二個參數是多遠,從左上角向右移動,而第三個參數是如何的遠動從左上角落下。
這是用於watir-classic還是watir-webdriver? –
watir-webdriver。謝謝! – Leelluu