从入门到入狱-----做爬虫之前的准备(selenium)

加载selenium库的过后,直接导入就可以使用,这里涉及到一些前端的知识,因为我纯粹的0基础,前端的东西不是很懂,将就看看

from selenium import webdriver
from selenium.webdriver import ChromeOptions,ActionChains
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

import time

# 创建设置对象
options = ChromeOptions()
# 取消自动测试检测(防止网站检测拒绝访问)
options.add_experimental_option('excludeSwitches', ['enable-automation'])
# 取消图片加载(提高页面加载速度)
# options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2})
b = webdriver.Chrome(options=options)

def jing_dong():
    b.get('http://jd.com')
    # 获取登录按钮并点击
    login_btn=b.find_element_by_css_selector('#ttbar-login > a.link-login')
    login_btn.click()
    # 获取账号登录按钮并点击
    user_btn=b.find_element_by_css_selector('#content > div.login-wrap > div.w > div > div.login-tab.login-tab-r > a')
    user_btn.click()
    # 点击账号
    zh_btn=b.find_element_by_css_selector('#loginname')
    zh_btn.click()
    # 输入账号和密码
    input = b.find_element_by_css_selector('#loginname')
    input.send_keys('aaaa')
    mm_btn = b.find_element_by_css_selector('#nloginpwd')
    mm_btn.click()
    input = b.find_element_by_css_selector('#nloginpwd')
    input.send_keys('123')
    #点击登录
    dl_btn=b.find_element_by_css_selector('#loginsubmit')
    dl_btn.click()
    # 拖动滑块

    slider=b.find_element_by_css_selector('#JDJRV-wrap-loginsubmit > div > div > div > div.JDJRV-slide-bg > div.JDJRV-slide-inner.JDJRV-slide-btn')
    # 创建动作链对象
    action=ActionChains(b)
    # 按住指定标签不放 click_and_hold  并且执行perform
    action.click_and_hold(slider).perform()

    # drag_and_drop(将一个标签拖拽到另一个标签上)
    # 添加拖拽的动作drag_and_drop_by_offset(拖拽对象,x方向的偏移,y方向的偏移)
    action.drag_and_drop_by_offset(slider,65,0).perform()
    # 添加停顿和释放

    time.sleep(1)
    action.release().perform()


def scroll():
    b.get('http://www.4399.com/flash/80727.htm')
    height=100
    # 滚动js的代码 window.scrollTo(x轴, y轴位置)
    js = """
        height = 100
       
        t = setInterval(function(){
            max = document.body.scrollHeight
            window.scrollTo(0, height)
            height += 200
                if(height > max){
                    clearInterval(t)
                }
            }, 200)
        """
    b.execute_script(js)

def wuyijob():
    b.get('https://51job.com/')
    input=b.find_element_by_css_selector('#kwdselectid')
    input.send_keys('python')
    bottun=b.find_element_by_css_selector('body > div.content > div > div.fltr.radius_5 > div > button')
    bottun.click()
    # height = 100
    # # 滚动js的代码 window.scrollTo(x轴, y轴位置)
    # js = """
    #         height = 100
    #
    #         t = setInterval(function(){
    #             max = document.body.scrollHeight
    #             window.scrollTo(0, height)
    #             height += 200
    #                 if(height > max){
    #                     clearInterval(t)
    #                 }
    #             }, 200)
    #         """
    # b.execute_script(js)
    bottun=b.find_element_by_css_selector('body > div:nth-child(4) > div.j_result > div > div.leftbox > div:nth-child(4) > div.j_page > div > div > div > ul > li.next > a')
    for i in range(10):
        print(b.page_source)
        time.sleep(2)
        # 显示等待:等到满足某个条件为止
        wait=WebDriverWait(b,10)
        # 等待标签加载成功,然后点击
        next=wait.until(EC.element_to_be_clickable((By.CLASS_NAME,'next')))
        try:
            next.click()
        except:
            time.sleep(1)

wuyijob()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值