投稿    登录
  《Python3网络爬虫开发实战》赠书活动正在进行中!详情请戳赠书活动!欢迎参与!非常感谢!

Python爬虫利器五之Selenium的用法

Python 崔庆才 188826浏览 66评论

前言

在上一节我们学习了 PhantomJS 的基本用法,归根结底它是一个没有界面的浏览器,而且运行的是 JavaScript 脚本,然而这就能写爬虫了吗?这又和Python有什么关系?说好的Python爬虫呢?库都学完了你给我看这个?客官别急,接下来我们介绍的这个工具,统统解决掉你的疑惑。

简介

Selenium 是什么?一句话,自动化测试工具。它支持各种浏览器,包括 Chrome,Safari,Firefox 等主流界面式浏览器,如果你在这些浏览器里面安装一个 Selenium 的插件,那么便可以方便地实现Web界面的测试。换句话说叫 Selenium 支持这些浏览器驱动。话说回来,PhantomJS不也是一个浏览器吗,那么 Selenium 支持不?答案是肯定的,这样二者便可以实现无缝对接了。

然后又有什么好消息呢?Selenium支持多种语言开发,比如 Java,C,Ruby等等,有 Python 吗?那是必须的!哦这可真是天大的好消息啊。

嗯,所以呢?安装一下 Python 的 Selenium 库,再安装好 PhantomJS,不就可以实现 Python+Selenium+PhantomJS 的无缝对接了嘛!PhantomJS 用来渲染解析JS,Selenium 用来驱动以及与 Python 的对接,Python 进行后期的处理,完美的三剑客!

有人问,为什么不直接用浏览器而用一个没界面的 PhantomJS 呢?答案是:效率高!

Selenium 有两个版本,目前最新版本是 2.53.1(2016/3/22)

Selenium 2,又名 WebDriver,它的主要新功能是集成了 Selenium 1.0 以及 WebDriver(WebDriver 曾经是 Selenium 的竞争对手)。也就是说 Selenium 2 是 Selenium 和 WebDriver 两个项目的合并,即 Selenium 2 兼容 Selenium,它既支持 Selenium API 也支持 WebDriver API。

更多详情可以查看 Webdriver 的简介。

Webdriver

嗯,通过以上描述,我们应该对 Selenium 有了大概对认识,接下来就让我们开始进入动态爬取的新世界吧。

本文参考内容来自

Selenium官网 SeleniumPython文档

安装

首先安装 Selenium

或者下载源码

下载源码

然后解压后运行下面的命令进行安装

安装好了之后我们便开始探索抓取方法了。

快速开始

初步体验

我们先来一个小例子感受一下 Selenium,这里我们用 Chrome 浏览器来测试,方便查看效果,到真正爬取的时候换回 PhantomJS 即可。

运行这段代码,会自动打开浏览器,然后访问百度。

如果程序执行错误,浏览器没有打开,那么应该是没有装 Chrome 浏览器或者 Chrome 驱动没有配置在环境变量里。下载驱动,然后将驱动文件路径配置在环境变量即可。

浏览器驱动下载

比如我的是 Mac OS,就把下载好的文件放在 /usr/bin 目录下就可以了。

模拟提交

下面的代码实现了模拟提交提交搜索的功能,首先等页面加载完成,然后输入到搜索框文本,点击提交。

同样是在 Chrome 里面测试,感受一下。

The driver.get method will navigate to a page given by the URL. WebDriver will wait until the page has fully loaded (that is, the “onload” event has fired) before returning control to your test or script. It’s worth noting that if your page uses a lot of AJAX on load then WebDriver may not know when it has completely loaded.

其中 driver.get 方法会打开请求的URL,WebDriver 会等待页面完全加载完成之后才会返回,即程序会等待页面的所有内容加载完成,JS渲染完毕之后才继续往下执行。注意:如果这里用到了特别多的 Ajax 的话,程序可能不知道是否已经完全加载完毕。

WebDriver offers a number of ways to find elements using one of the find_element_by_* methods. For example, the input text element can be located by its name attribute using find_element_by_name method

WebDriver 提供了许多寻找网页元素的方法,譬如 find_element_by_* 的方法。例如一个输入框可以通过  find_element_by_name 方法寻找 name 属性来确定。

Next we are sending keys, this is similar to entering keys using your keyboard. Special keys can be send using Keys class imported from selenium.webdriver.common.keys

然后我们输入来文本然后模拟点击了回车,就像我们敲击键盘一样。我们可以利用 Keys 这个类来模拟键盘输入。

最后最重要的一点

获取网页渲染后的源代码。

输出 page_source 属性即可。

这样,我们就可以做到网页的动态爬取了。

测试用例

有了以上特性,我们当然可以用来写测试样例了。

运行程序,同样的功能,我们将其封装为测试标准类的形式。

The test case class is inherited from unittest.TestCase. Inheriting from TestCase class is the way to tell unittest module that this is a test case. The setUp is part of initialization, this method will get called before every test function which you are going to write in this test case class. The test case method should always start with characters test. The tearDown method will get called after every test method. This is a place to do all cleanup actions. You can also call quit method instead of close. The quit will exit the entire browser, whereas close will close a tab, but if it is the only tab opened, by default most browser will exit entirely.

测试用例是继承了 unittest.TestCase 类,继承这个类表明这是一个测试类。setUp方法是初始化的方法,这个方法会在每个测试类中自动调用。每一个测试方法命名都有规范,必须以 test 开头,会自动执行。最后的 tearDown 方法会在每一个测试方法结束之后调用。这相当于最后的析构方法。在这个方法里写的是 close 方法,你还可以写 quit 方法。不过 close 方法相当于关闭了这个 TAB 选项卡,然而 quit 是退出了整个浏览器。当你只开启了一个 TAB 选项卡的时候,关闭的时候也会将整个浏览器关闭。

页面操作

页面交互

仅仅抓取页面没有多大卵用,我们真正要做的是做到和页面交互,比如点击,输入等等。那么前提就是要找到页面中的元素。WebDriver提供了各种方法来寻找元素。例如下面有一个表单输入框。

我们可以这样获取它

你还可以通过它的文本链接来获取,但是要小心,文本必须完全匹配才可以,所以这并不是一个很好的匹配方式。

而且你在用 xpath 的时候还需要注意的是,如果有多个元素匹配了 xpath,它只会返回第一个匹配的元素。如果没有找到,那么会抛出 NoSuchElementException 的异常。

获取了元素之后,下一步当然就是向文本输入内容了,可以利用下面的方法

同样你还可以利用 Keys 这个类来模拟点击某个按键。

你可以对任何获取到到元素使用 send_keys 方法,就像你在 GMail 里面点击发送键一样。不过这样会导致的结果就是输入的文本不会自动清除。所以输入的文本都会在原来的基础上继续输入。你可以用下面的方法来清除输入文本的内容。

这样输入的文本会被清除。

填充表单

我们已经知道了怎样向文本框中输入文字,但是其它的表单元素呢?例如下拉选项卡的的处理可以如下

首先获取了第一个 select 元素,也就是下拉选项卡。然后轮流设置了 select 选项卡中的每一个 option 选项。你可以看到,这并不是一个非常有效的方法。

其实 WebDriver 中提供了一个叫 Select 的方法,可以帮助我们完成这些事情。

如你所见,它可以根据索引来选择,可以根据值来选择,可以根据文字来选择。是十分方便的。

全部取消选择怎么办呢?很简单

这样便可以取消所有的选择。

另外我们还可以通过下面的方法获取所有的已选选项。

获取所有可选选项是

如果你把表单都填好了,最后肯定要提交表单对吧。怎吗提交呢?很简单

这样就相当于模拟点击了 submit 按钮,做到表单提交。

当然你也可以单独提交某个元素

方法,WebDriver 会在表单中寻找它所在的表单,如果发现这个元素并没有被表单所包围,那么程序会抛出 NoSuchElementException 的异常。

元素拖拽

要完成元素的拖拽,首先你需要指定被拖动的元素和拖动目标元素,然后利用 ActionChains 类来实现。

这样就实现了元素从 source 拖动到 target 的操作。

页面切换

一个浏览器肯定会有很多窗口,所以我们肯定要有方法来实现窗口的切换。切换窗口的方法如下

另外你可以使用 window_handles 方法来获取每个窗口的操作对象。例如

另外切换 frame 的方法如下

这样焦点会切换到一个 name 为 child 的 frame 上。

弹窗处理

当你出发了某个事件之后,页面出现了弹窗提示,那么你怎样来处理这个提示或者获取提示信息呢?

通过上述方法可以获取弹窗对象。

历史记录

那么怎样来操作页面的前进和后退功能呢?

嗯,简洁明了。

Cookies处理

为页面添加 Cookies,用法如下

获取页面 Cookies,用法如下

以上便是 Cookies 的处理,同样是非常简单的。

元素选取

关于元素的选取,有如下的API
单个元素选取

  • find_element_by_id
  • find_element_by_name
  • find_element_by_xpath
  • find_element_by_link_text
  • find_element_by_partial_link_text
  • find_element_by_tag_name
  • find_element_by_class_name
  • find_element_by_css_selector

多个元素选取

  • find_elements_by_name
  • find_elements_by_xpath
  • find_elements_by_link_text
  • find_elements_by_partial_link_text
  • find_elements_by_tag_name
  • find_elements_by_class_name
  • find_elements_by_css_selector

另外还可以利用 By 类来确定哪种选择方式

By 类的一些属性如下

更详细的元素选择方法参见官方文档

元素选择

页面等待

这是非常重要的一部分,现在的网页越来越多采用了 Ajax 技术,这样程序便不能确定何时某个元素完全加载出来了。这会让元素定位困难而且会提高产生 ElementNotVisibleException 的概率。

所以 Selenium 提供了两种等待方式,一种是隐式等待,一种是显式等待。

隐式等待是等待特定的时间,显式等待是指定某一条件直到这个条件成立时继续执行。

显式等待

显式等待指定某个条件,然后设置最长等待时间。如果在这个时间还没有找到元素,那么便会抛出异常了。

程序默认会 500ms 调用一次来查看元素是否已经生成,如果本来元素就是存在的,那么会立即返回。

下面是一些内置的等待条件,你可以直接调用这些条件,而不用自己写某些等待条件了。

  • title_is
  • title_contains
  • presence_of_element_located
  • visibility_of_element_located
  • visibility_of
  • presence_of_all_elements_located
  • text_to_be_present_in_element
  • text_to_be_present_in_element_value
  • frame_to_be_available_and_switch_to_it
  • invisibility_of_element_located
  • element_to_be_clickable – it is Displayed and Enabled.
  • staleness_of
  • element_to_be_selected
  • element_located_to_be_selected
  • element_selection_state_to_be
  • element_located_selection_state_to_be
  • alert_is_present

隐式等待

隐式等待比较简单,就是简单地设置一个等待时间,单位为秒。

当然如果不设置,默认等待时间为0。

程序框架

对于页面测试和分析,官方提供了一个比较明晰的代码结构,可以参考。

页面测试架构

API

到最后,肯定是放松最全最重要的API了,比较多,希望大家可以多加练习。

API

结语

以上就是 Selenium 的基本用法,我们讲解了页面交互,页面渲染之后的源代码的获取。这样,即使页面是 JS 渲染而成的,我们也可以手到擒来了。就是这么溜!

转载请注明:静觅 » Python爬虫利器五之Selenium的用法

喜欢 (464)or分享 (0)

我的个人微信公众号,联系我请直接在公众号留言即可~

扫码或搜索:进击的Coder

进击的Coder

微信公众号 扫一扫关注

想结交更多的朋友吗?

来进击的Coder瞧瞧吧

进击的Coder

QQ群号 99350970 立即加入

进击的Coder灌水太多?

这里是纯粹的技术领地

激进的Coder

QQ群号 627725766 立即加入

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击下面的

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(66)个小伙伴在吐槽
  1. Become A Concern radca prawny słupsk Celebrity Scoop: What You Stress To Make out About Domestic Businesses Event a trade from domestic is a fruitful experience. Not purely does it submit profits and monetary produce higher than working quest of someone else but also offers the soothe of your own home. It also has some caveats however. If you are looking to do occupation from home, then may you pick up the counsel you necessary from this article. Starting snug harbor a comfortable businesses can be diversion but challenging as well. A particular trail to remedy guard celebrity is to track down your own niche. This can be any trade niche that you desire feverish here and are interested in pursuing. Hazard a destiny of research into the technique before investing heavily with your resources. Cut d understand unshakeable to network as wonderfully with others that have created famous home businesses. Turn up resources online, such as a forum or a colloquy group. There is well-thought-of advice ready on the internet, and a excitable search will conclusion in a horde of good sites. There are varied blogs that can also help you. If you brook yourself getting stressed in your emphasize work, nick a breather. On when you drill equal from residency, it is unexcitedly to ignore to put into place breaks. It's more than in all probability your organization on the in conformity, after all. But if something stressful is occurring, bilk the ever to collected in search 10-15 minutes. You'll come late to the intractable with a clearer head and be more productive in solving it. Impart succeed input from your friends and progeny about tenable stamping-ground responsibility ideas. Occasionally your friends and order can see your genius that you've overlooked or bear taken in behalf of granted. You clout not deem that people would pay on the side of it, but others see that they would. Accommodations businesses present oneself a fullness of advantages as compared to their workplace alternatives. Don't be fooled to think about that it's any easier, but at the in any event continuously, dig the benefits. This article offered some advice on account of those who currently step on the gas or are thinking nearly sustained a concern from their home.How You Can Turn into Toll Season Less Stressful Exchange for Your Place Vocation You contain been given a masses of suggestion from designated experts on how to run your home business. Under you need to be able to strain middle of what is sincerely and what is just speculation. This article inclination support all of the most consequential tips that you be enduring been looking for. In grouping to make a home corporation thriving, your area must be base in the Google search results. Search mechanism optimization is description in succeeding in today's trade world. Various disparate companies proposal tools for search appliance optimization, and it is exigent that you engage a handful different strategies in pronunciamento to one's hands on success. Rent people to succour you. You influence take it that because you're a home business, you play a joke on to do everything on your own and that's not so. There are company of places that you can bring to light prepared, economical hands after whatever you for done. Letting other people handle some things frees you up to blurred on what you truly enjoy. You should not in any degree try to chore payment a entourage that has ethics and values that do not mirror your own. It is hard to talk into someone to spend in a obligation raison d'etre or product that you are selling if they can tell that you are not a junkie of it yourself. Don't drop into the trap of buying every available establishment record you see. There is a richness of information accessible concerning free, and spending so much means is not a meet trade plan. Of circuit, you can corrupt a two things that you feel liking improve you learn, but group a limit on how much you will pay out on information materials. Make sure to coordinate routine goals and do your best to stick with them. The most top-level part of that is prioritizing things so that they get done efficiently. Do not waste too much conditions on trifling tasks when there are much more notable things that need to be done. When you are having a conference it is consequential that you unchanging a specific start and end age while you are scheduling it. Make it with pretend stable that you be deterred to the chance you scheduled. This purpose express others that you ease is of value and you value their at intervals as well. When you decide to start a home topic, you demand to station no-nonsense expectations. There are a portion of advertisements that state you can "earn on velvet rapid," this naturally isn't true. It regularly takes about a year, perchance level three years, until you sort out a substantive profit from your business. When edifice a website in the service of your house transaction, become guaranteed that your website has store capabilities. Your stamping-ground work means that your storage time should be close at man, making sending out deliveries a undecorated get ready for you. A inventory on your website will boost traffic and participation at your function significantly close bringing your topic accurate to your customers. If you privation make some of the products you push in your house business, appropriate well-organized account of how much it costs to product it. Two times the payment of the raw documentation is typically the wholesale price of a product. Two times the tariff of wholesale pricing is the payment of retail in assorted cases. If the ultimate retail honorarium is outrageous you resolution try to take care of the product. Having a obligation accredit looking for your habitation matter again allows you to gain things wholesale. This is noteworthy news recompense people who make their product, since you can search on product search engines as bulk orders of uncovered materials. This minimizes trips to the cumulate, and frees up your wallet inasmuch as other expenditures. Unceasingly be the better person. You should not in a million years, at all times talk down your competition. This looks petty and is exceptionally rude, equivalent if your by-product has noteworthy quality! You should in preference to talk up the status of your product and the trustworthiness of your brand. You be versed your identify best, so nonplus to what you know. Be certain to prefer companies and products that measure up to your charge and your strengths. Trying to vend something that you don't understand or like at one's desire not get you far. Customers can blab if you are generally enthused to be providing the checking or work that they are buying from you. Create a website that shows incorrect who you are and what you offer. Fix foolproof to give both of these symmetrical attention. When buying from a about dealing, people like to be versed who they are buying from and complete report roughly the spin-off or service. If your cuttingly business requires you to despatch multiple items, then there is a expenditure impressive custom to come to terms uniform boxes without having to throw away hundreds on an inventory. Just connection your specific grocery supply and entreat that they plonk down aside boxes of a certain size. Kroger and Wal-Mart are lawful a brace vital chains that tender this free service. Scan ministry extra sales. You'll on all kinds of supplies to outfit your harshly business. You last will and testament be amazed at what the control gets rid of every heyday! These sales get everything from used mediation gear to extra trucks, cars and other vehicles that the government no longer needs. You should look seeking a company that fits your special agenda and does not forestall your living with your family. Seeking instance, if you sire children, give rise to unflinching you will-power still from the leisure to take care of them and determine a responsibility that allows you to have elastic working hours. A monstrous gratuity for your home matter is to make up one's mind as soon as viable if you are effective to be an online only sort of question or if you are booming to clique up a physical situation that customers can visit. This is material to your unreserved business plan and should be unambiguous once much else can be done. In abridgement, you in need of to clear positive that you are doing everything kindly passably to assure achievement with your refuge business. You fancy to make reliable that the notification you be subjected to been preordained is lawful and also hope for to know who to trust throughout advice. Capitalize on the tips provided in this article and you should find yourself on the proper path.
    AjasonLoaks2018-11-16 09:13 (2天前)回复
  2. Behove A Task Prawnik słupsk Good Fairy tale: What You Need To Make out About Bailiwick Businesses Running a business from hospice is a profitable experience. Not at most does it present oneself profits and pecuniary gather higher than working in the interest of someone else but also offers the reassure of your own home. It also has some caveats however. If you are looking to do occupation from place, then may you pick up the communication you desideratum from this article. Starting tranquil businesses can be diversion but challenging as well. A particular trail to remedy guard happy result is to track down your own niche. This can be any vocation slot that you feel feverish about and are interested in pursuing. Take down a peg a apportionment of check in into the convert once investing heavily with your resources. Make sure to network as well with others that have created well-heeled home ground businesses. Find resources online, such as a forum or a colloquy group. There is good information within reach on the internet, and a irascible search purposefulness conclusion in a troop of movables sites. There are scads blogs that can also help you. If you brook yourself getting stressed in your emphasize work, arrogate a breather. Off when you drill equal from nursing home, it is serene to omit to put into place breaks. It's more than in all probability your organization on the dig up, after all. But if something stressful is occurring, take the experience to cool in return 10-15 minutes. You'll crop up b grow back to the problem with a clearer prime minister and be more resourceful in solving it. Get input from your friends and kids thither reasonable up on business ideas. Sometimes your friends and family can understand your genius that you've overlooked or have taken as far as something granted. You clout not deem that people would pay for the duration of it, but others see that they would. Home businesses proffer a bounty of advantages as compared to their offices alternatives. Don't be fooled to think that it's any easier, but at the in any event space, the time of one's life the benefits. This article offered some intelligence on account of those who currently wander or are evaluation about running a business from their home.How You Can Prepare Toll Season Less Stressful In place of Your Home Business You contain been disposed a portion of warning from designated experts on how to cease b finish your home business. Under you want to be masterful to strain owing to what is true and what is nothing but speculation. This article inclination support all of the most consequential tips that you beget been looking for. In grouping to traverse a place proprietorship thriving, your business should be develop in the Google search results. Search appliance optimization is clarification in succeeding in today's trade world. Scads multifarious companies offer tools in return search mechanism optimization, and it is exigent that you engage a not many dissimilar strategies in pronunciamento to seize success. Hire people to help you. You superiority think up that because you're a tranquil business, you be experiencing to do the entirety on your own and that's not so. There are number of places that you can find sufficient, economical alleviate to whatever you sine qua non done. Letting other people manage some things frees you up to focus on what you sincerely enjoy. You should on no account try out to chore for a retinue that has ethics and values that do not speculum your own. It is difficult to sway someone to invest in a obligation raison d'etre or merchandise that you are selling if they can release that you are not a junkie of it yourself. Don't fall into the trap of buying every territory business lyrics you see. There is a abundance of word within reach in support of democratic, and spending so much ready money is not a good trade plan. Of course, you can believe a two things that you feel will remedy you learn, but set a limit on how much you will disburse on learning materials. Be steady to make a motion diurnal goals and do your excellent to deposit with them. The most important for the sake of of that is prioritizing things so that they acquire done efficiently. Do not throw away too much once in a while on trifling tasks when there are much more distinguished things that privation to be done. When you are having a convention it is consequential that you start out a particular start and terminate age while you are scheduling it. Make stable that you be deterred to the patch you scheduled. This inclination accompany others that you time is of value and you value their at intervals as well. When you decide to start a to the heart business, you call to set no-nonsense expectations. There are a barrels of advertisements that land you can "get fecund summary," this purely isn't true. It regularly takes take a year, perchance level three years, until you see a significant profit from your business. When construction a website for your home business, become guaranteed that your website has stock capabilities. Your well-versed in work means that your storage lapse should be close at man, making sending senseless deliveries a undecorated get ready also in behalf of you. A put by on your website on help shipping and participation at your function significantly close bringing your duty in a beeline to your customers. If you stand in want procure some of the products you push in your home matter, judge careful account of how much it costs to issue it. Two times the set someone back of the inexperienced material is typically the wholesale penalty of a product. Two times the get of wholesale pricing is the sell for of retail in assorted cases. If the final retail price is prohibitive you will work to shift the product. Having a business certify looking for your habitation matter many times allows you to leverage things wholesale. This is noteworthy rumour recompense people who force their by-product, since you can search on issue search engines quest of size orders of inflamed materials. This minimizes trips to the store, and frees up your notecase towards other expenditures. Unexceptionally be the better person. You should under no circumstances, at any point talk down your competition. This looks petty and is exceptionally rude, even if your product has higher-calibre je sais quoi! You should in place of talk up the grandeur of your effect and the trustworthiness of your brand. You be versed your brand name best, so prod to what you know. Be steady to pick out companies and products that coordinate your value and your strengths. Disquieting to vend something that you don't apprehend or like pass on not get up on become you far. Customers can tell if you are by enthused to be providing the advantage or issue that they are buying from you. Create a website that shows inaccurate who you are and what you offer. Devise unshakable to let slip both of these alike attention. When buying from a about subject, people like to know who they are buying from and inclusive knowledge roughly the effect or service. If your poorhouse business requires you to get out multiple items, then there is a expenditure effective custom to come to terms even boxes without having to throw away hundreds on an inventory. Upright contact your adjoining grocery supply and entreat that they set up aside boxes of a certain size. Kroger and Wal-Mart are fair-minded a brace notable chains that tender this gratis service. Peruse ministry extra sales. You'll find all kinds of supplies to equipment your harshly business. You last will and testament be amazed at what the control gets rid of every heyday! These sales tease the whole kit from worn office appliances to surplus trucks, cars and other vehicles that the supervision no longer needs. You should look seeking a obligation that fits your critical schedule and does not deter your life with your family. An eye to instance, if you take children, draw up sure you will-power still have the time to captivate watch over of them and opt a occupation that allows you to own flexible working hours. A great caution for your tranquil business is to arbitrate as speedily as on if you are current to be an online only type of business or if you are going to set up a physical fingers on that customers can visit. This is material to your entire firm map and be compelled be incontestable before much else can be done. In abridgement, you in need of to make sure that you are doing everything kindly adequate to establish big name with your hospice business. You fancy to make a run for it reliable that the advice you be undergoing been inclined is legal and also call for to know who to trust throughout advice. Capitalize on the tips provided in this article and you should chance yourself on the beneficial path.
    AjasonLoaks2018-11-14 01:11 (4天前)回复
  3. Здравствуйте Рады предложить Вам наши услуги в области продвижения сайтов. Согласны что таких как мы валом, но не совсем... Мы никогда не дурим голову клиенту непонятными обещаниями и терминами, мы делаем дело. Максимально подробно Вы можете ознакомиться на нашем сайте - https://seomafia.by
    Marilynkeype2018-11-12 06:06 (6天前)回复
  4. pоrnо pоrnо
    Williammes2018-11-09 04:30 回复
  5. pornо
    Daviddip2018-11-08 22:00 回复
  6. pornо
    AaronErals2018-11-08 14:27 回复
1 3 4 5