2013-06-11 38 views
0

我有一張圖像用作提交按鈕。圖像沒有id和class屬性,並且表單嚴格用javascript提交。我正在嘗試使用WebDriver(使用PHP)提交這個小表單。我正在使用Firefox驅動程序和硒獨立服務器v 2.30。使用PHP單擊WebDriver中沒有標識的圖像使用PHP

被測試頁面上exsist的JavaScript函數就是sendForm()

我曾試圖通過的webdriver沒有運氣執行JavaScript:

<?php 
$js = "sendForm()"; 

$driver->execute(array(
    'script' => $js, 
    'args' => array(), 
)); 
?> 

圖像按鈕看起來是這樣的:

<form id="myForm" action="#"> 
    <!-- input fields go here --> 
    <img src="/images/submit_button.png" alt="Go" onclick="sendForm();return false;"> 
</form> 

所以提交這個表單的兩種方法將包括1)讓webdriver自己執行sendForm(),或2)單擊圖像沒有要選擇的屬性。

我可以執行一些其他方式比我試過的JavaScript函數嗎?

該表單有一個ID,所以我可以通過表單ID選擇圖像,只需'點擊'它?

+0

你可以嘗試一下形式本身,但是如何使用圖像中的'src'?或者甚至是一個XPath,比如:'// form @ id ='myForm']/img'(如果只有一個'img')... – Arran

+0

不幸的是,在這個頁面上有很多相同的「go」按鈕,不能使用src。我正在研究XPath選擇器... – lilbiscuit

+0

使用XPath工作,Arran! $ driver-> get_element(「xpath = // form [@ id ='myForm'] // img」) – lilbiscuit

回答

0

我建議你使用XPath。下面的應工作:

//form[@id='myForm']//img 

這是假設只有一個過作爲img雖然特定形式的直接孩子,所以記住這一點。

+0

correct,否則它是img [1] ... img [2] ...等等 – lilbiscuit