selenium爬取易查分的成绩单

爬取易查分成绩单

前期准本,下载webdriver,可以下载火绒,edge,chorm等的webdrive

然后,就是获取driver,用的什么浏览器就用xxOptions,比如ChormOptions,FirefoxOptions还有下图的options,用的什么浏览器,就要把浏览器做想应得更改即可

url_survey = ("你的网站")  # 根据需要填写url
    # 防止被浏览器识别为脚本
    option = webdriver.EdgeOptions()
    option.add_experimental_option('excludeSwitches', ['enable-automation'])
    option.add_experimental_option('useAutomationExtension', False)
    driver = webdriver.Edge(options=option)
    driver.set_window_size(700, 500)
    driver.set_window_position(x=500, y=80)
    driver.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument',
                           {'source': 'Object.defineProperty(navigator, "webdriver", {get: () => undefined})'})
    # 这行代码的作用是将webdriver这个属性置为undefined

然后是根据你网站需要输入得元素,传入

 在浏览器中打开开发者模式,传入完整得Xpath


    driver.find_element(By.XPATH,f'/html/body/div/div[2]/div[4]/div/div[2]/form/table/tbody/tr[1]/td[2]/input').send_keys(id)
    time.sleep(0.5)
    driver.find_element(By.XPATH, f'/html/body/div/div[2]/div[4]/div/div[2]/form/table/tbody/tr[2]/td[2]/input').send_keys(name)
    time.sleep(0.5)
    driver.find_element(By.XPATH, f'/html/body/div/div[2]/div[4]/div/div[2]/form/table/tbody/tr[3]/td[2]/input').send_keys(class_id)
    time.sleep(0.5)
    # result_content > div.q-r-table-panel > table > tbody > tr:nth-child(2)
    # 打印所有的字典
    driver.find_element(By.CSS_SELECTOR,f'#yiDunSubmitBtn').click()
    time.sleep(2)
  

然后从跳转后得页面读取出你需要得元素,这里需要什么元素就读取什么元素,如果不知道你要读取元素标签,就去看html

  list = []
    url2 = driver.current_url  # 表示问卷填写完成后跳转的链接,一旦跳转说明填写成功
    try:
        table = driver.find_element(By.TAG_NAME, 'table')
        # 找到表格行
        rows = table.find_elements(By.TAG_NAME, 'tr')
        # 遍历表格行
        for row in rows:
            # 遍历行中的单元格

            cells = row.find_elements(By.TAG_NAME, 'td')
            # print(cells)
            for cell in cells:
                # 提取单元格文本
                text = cell.text.strip()
                list.append(text)
    except:
        pass
    if len(list)==0:
        list=[0,0,0,0,0]
    else:
        list=list[:5]
    return url2,list

然后就得到你需要得元素了,最后保存list即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值