加载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()