> 有時候有些列表頁使用的是滾動條到最底部才加載下一頁的數據,這個時候就需要用到selenium來操作這樣的數據。我們拿letv的分頁來做測試。
~~~
<?php
namespace Facebook\WebDriver;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
require_once('vendor/autoload.php');
header("Content-Type: text/html; charset=UTF-8");
// start Firefox with 5 second timeout
$host = 'http://localhost:4444/wd/hub'; // this is the default
$capabilities = DesiredCapabilities::chrome();
$driver = RemoteWebDriver::create($host, $capabilities, 5000);
$driver->manage()->timeouts()->implicitlyWait(15); //隱性設置15秒
$driver->get('http://list.le.com/listn/c1_t-1_a50071_y-1_s1_lg-1_ph-1_md_o4_d1_p.html');
//翻一頁
js = "window.scrollTo(0,document.body.scrollHeight)" //滾動至底部
//$js = "window.scrollBy(0,100000000);"; //也可以把值設大一點,達到底部的效果
$driver->executeScript($js);
echo 'sleep...';
sleep(6);
//再翻一頁
js = "window.scrollTo(0,document.body.scrollHeight)";
$driver->executeScript($js);
echo 'sleep...';
sleep(6);
//再翻一頁
js = "window.scrollTo(0,document.body.scrollHeight)";
$driver->executeScript($js);
echo 'done!';
//關閉瀏覽器
//$driver->quit();
?>
~~~