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

时间:2014-12-19 23:16:36

标签: javascript php selenium webdriver browserstack

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

我要做的是:

  1. 动态加载JQuery
  2. 在JQuery准备就绪时执行一些依赖于JQuery的JavaScript
  3. 这是我的代码:

    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();
    

    它不起作用,我收到错误$ is not defined

    如何重新配置​​此功能。感谢。

0 个答案:

没有答案