selenium的使用

安装

pip install selenium

使用selenium需要下载chromedriver谷歌内核http://chromedriver.storage.googleapis.com/index.html

选择浏览器合适的版本,然后添加到环境变量中,这里我就直接放在python的目录里面,以为python添加过了环境变量

基本使用

from selenium import webdriver

try:
    # 进行无头配置
    options = webdriver.ChromeOptions()
    options.add_argument('--headless')
    options.add_argument('--disable-gpu')
    options.add_argument('--no-sandbox')
    # 初始化浏览器
    browser = webdriver.Chrome(options=options)
    url = 'http://www.baidu.com'
    browser.get(url)
    print(browser.page_source)
finally:
    # 注意这里一定要关,不然服务器上会很多
    browser.close()

选择器

browser.find_element_by_id('')
browser.find_element_by_class_name('')

selenium提供的选择器很多,不过常用的就几个,需要的时候看一下就可以了

元素交互

# 获取元素
input = browser.find_element_by_id('s')
# 给元素发送消息
input.send_keys('Python')
# 回车操作
input.send_keys(Keys.ENTER)
# 点击事件
input.click()
# 清除消息
input.clear()

执行JavaScript

# 可以直接执行js代码
browser.execute_script('alert("直接执行js")')

获取元素文本值和属性

# 获取元素
name = browser.find_element_by_id('s')
# 获取元素的文本值
print(name.text)
# 获取元素的属性
print(name.get_attribute('href')

保存cookies并使用requests添加cookies

# selenium获取cookies
cookies = browser.get_cookies()
# 保存cookies
with open('保存地址', 'w', encoding='utf-8') as file:
            json.dump(self.cookies, file)
        ------------------------------------------------------
# 获取cookies
cookies = dict()
with open('保存地址', 'r') as f:
            items = json.load(f)
            for i in items:
                cookies[i['name']] = i['value']
# 添加请求头
headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36'}
# 添加传递的参数
data = {
            "page": "1",
            "limit": "100",
            "domain": "smt.dev",
            "act": "status.list",
            "argJson": '''{"code":null,"groupId":"1000106","officeId":null,"onlineStatus":"0"}'''
        }
# 解析传递的参数
data = urllib.parse.urlencode(data)
# 使用requests发送请求
response = requests.get(url='https://smt.wensgx.com/cmd/app.domain.exec?process&json', headers=headers,
                                    params=data, cookies=cookies)

显示等待

这个操作之前用过,但是不好用,可能自己的使用方法不对,总之就是没有使用过这个操作了,这里以后需要再去查询资料

selenium的操作还有很多,毕竟是一个测试的东西,不过掌握这些谢谢爬虫就可以了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值