按下python代码中的按钮

时间:2016-11-20 00:29:46

标签: python selenium scrapy

作为使用scrapy的网络抓取工具的一部分,我正在尝试按下网页上的“显示更多”按钮,以在https://hungryhouse.co.uk/takeaways/aberdeen-bridge-of-dee-ab10显示页面的其余部分。它看起来像一个javescript按钮,但我无法看到它是如何工作的。

网页上的代码是:

<div id="restsPages">
<a class="next" data-url="https://hungryhouse.co.uk/takeaways/aberdeen-bridge-of-dee-ab10">Show more</a>
<a class="back">Back to top</a>
</div>

如果我只是将其用作网址,则“data-url”中的网址不会显示更多网页。

我正在使用selenium和我正在使用的python代码来完成这项工作(而且我对编码很新,但学习速度很快):

import scrapy

from hungryhouse.items import HungryhouseItem
from selenium import webdriver  

class HungryhouseSpider(scrapy.Spider):
    name = "hungryhouse"
    allowed_domains = ["hungryhouse.co.uk"]
    start_urls = ["https://hungryhouse.co.uk/takeaways/westhill-ab10",
                  ]
    def __init__(self):
        self.driver = webdriver.Chrome()

    def parse(self,response):
        self.driver.get(response.url)

        while True:
            next =self.driver.find_element_by_xpath('//*[@id="restsPages"]/a[@class="next"]')
            try:
                next.click()
            except:
                break
        self.driver.close()

我得到的错误是:'chromedriver'可执行文件需要在PATH中

我是如何在代码中按下此按钮的?

0 个答案:

没有答案