Tôi đang sử dụng mô-đun splinter 0.7.3
trong python 2.7.2
trên nền tảng Linux để xóa danh sách thư mục trên trang web bằng trình duyệt Firefox mặc định.Splinter lưu html vô thể
Đây là đoạn mã lặp qua danh sách web được phân trang bằng cách nhấp vào liên kết 'Tiếp theo' trong html.
links = True
i = 0
while links:
with open('html/register_%03d.html' % i, 'w') as f:
f.write(browser.html.encode('utf-8'))
links = browser.find_link_by_text('Next')
print 'links:', links
if links:
links[0].click()
i += 1
Tôi biết rằng các liên kết đang làm việc, như tôi nhìn thấy đầu ra trông như thế này:
links: [<splinter.driver.webdriver.WebDriverElement object at 0x2e6da10>, <splinter.driver.webdriver.WebDriverElement object at 0x2e6d710>]
links: [<splinter.driver.webdriver.WebDriverElement object at 0x2e6d5d0>, <splinter.driver.webdriver.WebDriverElement object at 0x2e6d950>]
links: [<splinter.driver.webdriver.WebDriverElement object at 0x2e6d710>, <splinter.driver.webdriver.WebDriverElement object at 0x2e6dcd0>]
links: []
Khi html được lưu tại mỗi trang sử dụng f.write(browser.html.encode('utf-8'))
nó hoạt động tốt cho trang đầu tiên. Trên các trang tiếp theo, mặc dù tôi có thể xem các trang kết xuất trong Firefox, một trong hai tập tin html/regiser_...html
rỗng hoặc thẻ nội dung là mất tích như thế này:
<!DOCTYPE html>
<!--[if lt IE 7]> <html prefix="og: http://ogp.me/ns#" class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en-gb"> <![endif]-->
<!--[if IE 7]> <html prefix="og: http://ogp.me/ns#" class="no-js lt-ie9 lt-ie8" lang="en-gb"> <![endif]-->
<!--[if IE 8]> <html prefix="og: http://ogp.me/ns#" class="no-js lt-ie9" lang="en-gb"> <![endif]-->
<!--[if gt IE 8]><!-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-gb" class="no-js" prefix="og: http://ogp.me/ns#"><!--<![endif]--><head>
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible" />
...
</style>
<script src="/media/com_magebridge/js/frototype.min.js" type="text/javascript"></script></head></html>
Đây có phải là một tính năng nổi tiếng tiết kiệm html từ ly khai? Có cách nào tốt hơn để làm điều đó không?
Tôi vừa thử nâng cấp bản Mint Mint của mình ion của Firefox từ 7.0.1 đến 20.0. Vấn đề vẫn còn tồn tại. – ChrisGuest