当前位置: 首页 > 知识库问答 >
问题:

不知道如何刮页w/selenium

高增
2023-03-14

我知道如何通过selenium浏览结果页面,但我不知道如何浏览结果页面。我也尝试过mechanize,但这并没有让我走得更远。这就是我现在的处境:

import re
import urllib2
import csv
import os
from selenium import webdriver
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from bs4 import BeautifulSoup, SoupStrainer
import datetime
import time
import smtplib
import atexit
import signal
import json
import os
import gspread
import sys
import gc

script_path = os.path.dirname(os.path.realpath(__file__))

driver = webdriver.PhantomJS(executable_path="/usr/bin/phantomjs", service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any'])

#launches headless browser, completes proper search in Casenet
def main():

    driver.get('https://www.courts.mo.gov/casenet/cases/nameSearch.do')

    if 'Service Unavailable' in driver.page_source:
        log('Casenet website seems to be down. Receiving "service unavailable"')
        driver.quit()
        gc.collect()
        return False

    court = Select(driver.find_element_by_id('courtId'))

    court.select_by_visible_text('All Participating Courts')

    case_enter = driver.find_element_by_id('inputVO.lastName')

    case_enter.send_keys('Wakefield & Associates')

    driver.find_element_by_id('findButton').click()

    time.sleep(1)

    number_of_pages = 204

    for i in range(number_of_pages):

        output_trs = []

        party = (driver.find_element_by_class_name('outerTable'))

        output_trs.append(party)

        print output_trs

main()

最终的想法是将当事人、案件编号和提交日期作为字符串存储在一个数据库中。csv。当我现在打印输出时,我得到:

selenium.webdriver.remote.webelement.WebElement (session="c4e7b9e0-7a3b-11e8-83f2-b9030062270d", element=":wdc:1530125781332")

感谢任何帮助。

共有1个答案

荆炳
2023-03-14

您正在尝试打印web元素对象,而不是其文本内容。

打印文本内容的一种方法(注意编码):

for content in output_trs:
    print content.text
 类似资料:
  • 你好,我想使用python 3.x和BeautifulSoup从一个带有年龄验证弹出式窗口的网站上刮取数据。如果不点击“是”来表示“你是否超过21岁”,我就无法获得底层的文本和图像。谢谢你的支持。 编辑:谢谢,通过一些注释的帮助,我看到我可以使用cookie,但不确定如何管理/存储/调用请求包中的cookie。 编辑4:取得了一些进展,更新的代码如下。我设法在XML代码中找到了元素,现在我只需要设

  • 我应该写一个递归(!)方法来计算整数数组中给定整数的出现次数,如果偶数,则返回true,如果为奇数,则返回false。这是我到目前为止的代码: 它适用于 但它给出了 for 我不确定如何防止这种无休止的递归循环,因为我是编程新手,这是我第一次使用递归。提前致谢。

  • 我正在使用带有“lxml”和“requests”的python脚本来抓取网页。我的目标是从页面中获取一个元素并下载它,但是内容在HTTPS页面上,我在尝试访问页面中的内容时遇到错误。我确信我必须包含某种证书或身份验证,但我正在努力寻找正确的资源。我正在使用: 错误是:

  • 问题内容: 二者并具有可用于当网页被完全加载到检测信号。问题是网页上有一些异步加载的内容(ajax)。在这种情况下如何知道页面何时完全加载? 问题答案: 我实际上尚未做到这一点,但我认为您 可以 使用来实现您的解决方案。 您可以使用networkAccessManager ()函数从QWebPage获取QNetworkAccessManager 。QNetworkAccessManager的信号完

  • ***我的代码只用于练习! 我试图从FPL的网站上删除每个玩家的名字和团队https://www.premierleague.com/我的代码有一些问题。 问题是它只得到的页面与'-1'在网址的末尾,whch我甚至没有灌输在我的页面列表! 页面没有任何逻辑-基本url是https://www.premierleague.com/players?se=363 我的代码:

  • 最近,我一直试图从一个网站上获取大量的定价,从一个页面开始,每个项目的页面都链接到起始页面。我希望运行一个脚本,允许我单击某个项目的框,删除该项目的定价和描述,然后返回起始页并继续该循环。然而,有一个明显的问题,我在刮掉第一件物品后遇到了。返回起始页后,容器没有定义,因此出现了一个陈旧的元素错误,该错误会中断循环并阻止我获取其余的项。这是我使用的示例代码,希望能够一个接一个地刮去所有项目。 然而,