【问题标题】:Scraping attempt with javascript elements using selenium使用 selenium 对 javascript 元素进行抓取尝试
【发布时间】:2019-08-15 00:35:18
【问题描述】:

我是刮痧和硒的新手。我要抓取的页面使用按钮上的 js 脚本进入下一页。我在 SO 上找到了部分代码 (Click a Button in Scrapy),但我似乎无法让它工作。

from selenium import webdriver

import scrapy

class chSpider(scrapy.Spider):
    name = 'spidypy'
    allowed_domains = ['117.145.177.252']
    start_urls = ['http://117.145.177.252/login.do?method=enterPdamccx']

    def __init__(self):
        self.driver = webdriver.Firefox()

    def parse(self,response):

        self.driver.get('http://117.145.177.252/login.do?method=enterPdamccx')

        while True:
            try:
                next = self.driver.find_element_by_xpath('/html/body/form/div[3]/div/div/a')
                url = 'http://117.145.177.252/login.do?method=enterPdamccx'
                yield Request(url,callback=self.parse2)
                next.click()
            except:
                break

        self.driver.close()

    def parse2(self,response):
        print('you are here!')

我多次收到以下错误消息:

selenium.common.exceptions.WebDriverException: Message: connection refused

【问题讨论】:

  • 我在想也许你没有在第一个 driver.get() 或产量上成功,完全跳过了点击。尝试在 yield 之前单击。

标签: javascript selenium scrapy


【解决方案1】:

a 有一个 onclick,所以你可以这样做:

driver.execute_script('doMccx()')

【讨论】:

    猜你喜欢
    • 2017-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-17
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    相关资源
    最近更新 更多