selenium相关

!pip install selenium
基于浏览器自动化的一个模块
selenium和爬虫之间的关联
1.便捷去捕获动态加载的数据
页面的可见即可得
2.便捷的实现模拟登录
selenium的基本使用
pip install selenium
事先准备好一个浏览器的驱动程序
下载谷歌驱动:http://chromedriver.storage.googleapis.com/index.html
selenium 基本操作

from selenium import webdriver
from time import sleep
#1.实例化一个浏览器对象
bro = webdriver.Chrome(executable_path='./chromedriver')
#2.发起一个请求
bro.get('https://www.jd.com')
#3.进行标签定位
search_input = bro.find_element_by_xpath('//*[@id="key"]')
search_input.send_keys('macPro')
btn = bro.find_element_by_xpath('/html/body/div[1]/div[4]/div/div[2]/div/div[2]/button')
btn.click()
sleep(2)
#4.执行js代码
bro.execute_script('window.scrollTo(0,document.body.scrollHeight)')
sleep(2)
#5.可以获取当前页面的源码数据
page_text = bro.page_source
print(page_text)
sleep(3)
bro.quit()

bro=webdriver.Chrome(executable_path='./chromedriver')
bro.get('https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable')
time.sleep(1)
#注意:如果定位的标签是存在于iframe表示的子页面中,则常规的标签定位报错
#处理:使用如下指定操作
bro.switch_to.frame('iframeResult')
div_tag=bro.find_element_by_id('draggable')
#实例化一个动作链对象且将该对象绑定到指定的浏览器中
action=ActionChains(bro)
action.click_and_hold(div_tag) #对指定标签实现点击且长按操作
for i in range(5):
    action.move_by_offset(40,30).perform() #perform让动作链立即执行
    time.sleep(0.5)
#     标签移动一次后再绑定给浏览器
    action=ActionChains(bro)
time.sleep(3)
bro.quit()

获取cookie
browser.get_cookies()

无头浏览器

from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--headless')
options.add_argument('--disable-gpu')

browser = webdriver.Chrome(executable_path='./chromedriver',options=options)
browser.get('http://www.baidu.com/')
time.sleep(2)
print(browser.page_source)
browser.save_screenshot('./baidu.jpg')
browser.quit()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值