Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP在WebDriver中单击没有id的图像_Php_Javascript_Selenium_Webdriver - Fatal编程技术网

使用PHP在WebDriver中单击没有id的图像

使用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(

我有一个表单,其中的图像用作提交按钮。图像既没有id也没有class属性,表单严格使用javascript提交。我正在尝试使用WebDriver(与PHP一起)提交这个小表单。我正在使用Firefox驱动程序和selenium独立服务器v2.30

测试页面上存在的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选择图像并“单击”它吗?

我建议您使用XPath。以下各项应起作用:

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

这假设只有一个
img
作为该特定表单的直接子级,因此请记住。

您可以尝试表单本身,但是如何使用图像中的
src
?甚至是XPath,例如:
//form@id='myForm']/img
(如果只有一个
img
)…不幸的是,此页面上有多个相同的“go”按钮,因此无法使用src。我现在正在研究XPath选择器…使用XPath成功了,Arran$驱动程序->获取元素(“xpath=//form[@id='myForm']//img”)