0
我想使用php-driver獲取一些截圖。而且看起來,儘管整個網頁都是拍照的,但它只是拍攝顯示器/屏幕上顯示的圖片(這就是我們稱之爲截圖的原因)。如何在php-webdriver中滾動頁面?
所以我的問題是如何捕捉位於頁面底部的圖片?我們是否將頁面滾動到指定的元素?或者有辦法拍攝整個頁面的圖片?
這是我的截圖代碼:
$host = 'http://localhost:4444/wd/hub'; // this is the default
$capabilities = DesiredCapabilities::firefox();
$webdriver = RemoteWebDriver::create($host, $capabilities, 5000);
function find_image($url) {
//Screenshot
$GLOBALS["webdriver"]->get($url);
$element = $GLOBALS["webdriver"]->findElement(WebDriverBy::cssSelector('#law > p > img'));
$element_width = $element->getSize()->getWidth();
$element_height = $element->getSize()->getHeight();
$element_x = $element->getLocation()->getX();
$element_y = $element->getLocation()->getY();
$screenshot = __DIR__ . "/number/" . count($GLOBALS["data"]) . ".png";
$GLOBALS["webdriver"]->takeScreenshot($screenshot);
$src = imagecreatefrompng($screenshot);
$dest = imagecreatetruecolor($element_width, $element_height);
imagecopy($dest, $src, 0, 0, $element_x, $element_y, $element_width, $element_height);
imagepng($dest, $screenshot);
return convert_image($screenshot);
}
感謝您的評論,它的工作原理。 我只知道php-driver可以執行javascript – White