Skip to content

Commit 822ceb7

Browse files
committed
use selenium to capture picture
from a scrolled-down full web page
1 parent d9bbf72 commit 822ceb7

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

py2016/selenium_capture_firefox.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# -*- coding: utf-8 -*-
2+
3+
from selenium import webdriver
4+
import time
5+
6+
7+
def capture(url, img_file="test1.png"):
8+
firefox = webdriver.Firefox()
9+
firefox.set_window_size(1200, 900)
10+
firefox.get(url)
11+
firefox.execute_script("""
12+
(function () {
13+
var y = 0;
14+
var step = 100;
15+
window.scroll(0, 0);
16+
17+
function f() {
18+
if (y < document.body.scrollHeight) {
19+
y += step;
20+
window.scroll(0, y);
21+
setTimeout(f, 50);
22+
} else {
23+
window.scroll(0, 0);
24+
document.title += "scroll-done";
25+
}
26+
}
27+
28+
setTimeout(f, 1000);
29+
})();
30+
""")
31+
32+
for i in xrange(30):
33+
if "scroll-done" in firefox.title:
34+
break
35+
time.sleep(1)
36+
37+
firefox.save_screenshot(img_file)
38+
firefox.close()
39+
40+
41+
if __name__ == "__main__":
42+
capture("http://www.taobao.com")

0 commit comments

Comments
 (0)