PHPWebDriver-动态加载JQuery,然后在准备就绪时执行JavaScript

PHPWebDriver-动态加载JQuery,然后在准备就绪时执行JavaScript,javascript,php,selenium,webdriver,browserstack,Javascript,Php,Selenium,Webdriver,Browserstack,我绝对是Selenium的noob,但我正试图弄清楚如何通过php webdriver使用BrowserStack Automation,使用令人印象深刻的浏览器和设备阵列在网页上进行自动化测试 我想做的是: 动态加载JQuery 当JQuery就绪时,执行一些依赖于JQuery的JavaScript 以下是我的代码: require "path/to/php-webdriver-master/lib/__init__.php"; $web_driver = RemoteWebDriv

我绝对是Selenium的noob,但我正试图弄清楚如何通过php webdriver使用BrowserStack Automation,使用令人印象深刻的浏览器和设备阵列在网页上进行自动化测试

我想做的是:

动态加载JQuery 当JQuery就绪时,执行一些依赖于JQuery的JavaScript 以下是我的代码:

require "path/to/php-webdriver-master/lib/__init__.php";

    $web_driver = RemoteWebDriver::create(
        "http://myusername:mykey@hub.browserstack.com/wd/hub",
        array("browser" => "Firefox", "browser_version" => "31.0", "os" => "Windows", "os_version" => "7", "resolution" => "1024x768")
    );
    $web_driver->get("http://google.com/ncr");

    $load_jquery_str = 'file_ref_obj = document.createElement("script");file_ref_obj.src = "http://code.jquery.com/jquery-1.11.2.min.js";file_ref_obj.type = "text/javascript";file_ref_obj.async = false;document.getElementsByTagName("head")[0].appendChild(file_ref_obj);';
    $exec_jquery_str = '$(function(){var test = $("#mngb").find("gb_f gb_h").attr("data-pid");alert(test);});';

    $web_driver->executeScript($load_jquery_str);
    sleep(5);
    $web_driver->executeScript($exec_jquery_str);

    $web_driver->quit();
它不起作用,我得到一个错误,说$没有定义


如何重新配置以使其工作。谢谢。

错误是否指向特定行?@Dagon它在输出中指向,但不是PHP错误:它只是意味着JQuery尚未加载,但是我不知道如何对脚本执行进行排序,以便$web\u driver->executeScript$load\u jquery\u str loads jquery然后执行$exec\u jquery\u str。@Obinwanhill您应该使用Selenium API查找\u元素,单击等来正确模拟用户操作。execute_脚本可用于设置前提条件,或用于常规SELENIU命令无法执行的操作。