使用PHP在WebDriver中单击没有id的图像
我有一个表单,其中的图像用作提交按钮。图像既没有id也没有class属性,表单严格使用javascript提交。我正在尝试使用WebDriver(与PHP一起)提交这个小表单。我正在使用Firefox驱动程序和selenium独立服务器v2.30 测试页面上存在的javascript函数是使用PHP在WebDriver中单击没有id的图像,php,javascript,selenium,webdriver,Php,Javascript,Selenium,Webdriver,我有一个表单,其中的图像用作提交按钮。图像既没有id也没有class属性,表单严格使用javascript提交。我正在尝试使用WebDriver(与PHP一起)提交这个小表单。我正在使用Firefox驱动程序和selenium独立服务器v2.30 测试页面上存在的javascript函数是sendForm() 我曾尝试通过webdriver执行javascript,但没有成功: <?php $js = "sendForm()"; $driver->execute(array(
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选择图像并“单击”它吗?我建议您使用XPath。以下各项应起作用:
//form[@id='myForm']//img
这假设只有一个
img
作为该特定表单的直接子级,因此请记住。您可以尝试表单本身,但是如何使用图像中的src
?甚至是XPath,例如://form@id='myForm']/img
(如果只有一个img
)…不幸的是,此页面上有多个相同的“go”按钮,因此无法使用src。我现在正在研究XPath选择器…使用XPath成功了,Arran$驱动程序->获取元素(“xpath=//form[@id='myForm']//img”)