php-webdriver session出错

kuangkuang1 发布于 2015/08/24 13:42
阅读 446
收藏 0
cmd 运行 selenium-server-standalone-2.45.0.jar,用php-webdriver,打开浏览器,进行数据的搜索,用的是一个for循环,for ($i=5; $i <$line_number ; $i++) { 
$data = $csvreader->get_data(1,$i);
    $a = $i+1;
$sn = $data['0']['1'];
$session->element('css selector', 'input[name="7.1.1"]')->value(array('value' => str_split($sn)));
    $session->element('css selector', 'input[name="7.1.3"]')->click();
    $session->element('css selector', 'input[name="7.1.1"]')->clear();
} ,随着页面的加载,速度会越来越慢,并且会出现这样的错误
( ! ) Fatal error: Uncaught exception 'PHPWebDriver_ObsoleteElementWebDriverError' with message ' in D:\wamp\www\PHPcurl\webdriver\PHPWebDriver\WebDriverBase.php on line 44
( ! ) PHPWebDriver_ObsoleteElementWebDriverError: stale element reference: element is not attached to the page document (Session info: chrome=44.0.2403.157) (Driver info: chromedriver=2.15.322448 (52179c1b310fec1797c81ea9a20326839860b7d3),platform=Windows NT 5.1 SP3 x86) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 31 milliseconds For documentation on this error, please visit: http://seleniumhq.org/exceptions/stale_element_reference.html Build info: version: '2.45.0', revision: '5017cb8', time: '2015-02-26 23:59:50' System info: host: 'YLMF-20150804GH', ip: '192.168.226.129', os.name: 'Windows XP', os.arch: 'x86', os.version: '5.1', java.version: '1.8.0_11' Driver info: org.openqa.selenium.chrome.ChromeDriver Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, chrome={userDataDir=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\scoped_dir4320_17095}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, version=44.0.2403.157, platform=XP, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}] Session ID: df933e76c130e10b7c6ce99169befd78 in D:\wamp\www\PHPcurl\webdriver\PHPWebDriver\WebDriverBase.php on line 44
求解答
加载中
0
k
kuangkuang1

想问一下,在D:\wamp\www\PHPcurl\webdriver\PHPWebDriver\WebDriverBase.php 44行的代码是throw new PHPWebDriver_ObsoleteElementWebDriverError($message, $results);

应该怎么去修改这个错误呢,还想把搜索的速度提高点,有什么办法吗?求大神解答~

0
k
kuangkuang1
自己研究了一下,$session->element('css selector', 'input[name="7.1.3"]')->click();打开页面的时候应该给它一个等待时间的,例:                                $e = $wait->until(
                                    function($session) {
                                      return count($session->element(PHPWebDriver_WebDriverBy::LINK_TEXT, "View Process Logs"));
                                    }

                                );

但是这样只是一个元素加载完成,并不是一个页面加载完成,我想要的是这个页面全部的加载内容,然后再拿来过滤,找了好久,没有找到什么好的方法,只能给它一个异常处理的东西,现在已经大概可以使用了~有没有大神能告诉下,等待页面加载完全,再到下一步,应该如何,谢谢~

返回顶部
顶部