爬虫Day04

1.selenium等待元素加载

程序执行速度很快,直接获取标签但是标签还没加载好,会报错。
当使用driver.find_element_by_xxx()方法查找元素时,如果元素没有立即出现在页面上,那么默认情况下,WebDriver会立即抛出NoSuchElementException异常。但是,如果使用了隐式等待,WebDriver将在指定的时间内等待元素出现,如果在等待时间内找到了元素,则立即返回该元素;如果等待时间已过仍然没有找到元素,则抛NoSuchElementException异常。

# 显式等待:当查找一个标签的时候,给它加单独加等待时间
# 隐式等待:只要写一行,在查找标签时,如果标签没加载好,会自动等待
	browser.implicitly_wait(10)

2.selenium元素操作

# 输入框输入内容,删除内容
	tag.send_keys(写文字)
    tag.clear()
# 按钮点击
	tag.click

3.selenium执行js

# 打开一个浏览器页面

from selenium import webdriver
import time
bro = webdriver.Chrome()
bro.get('https://www.pearvideo.com/')
bro.implicitly_wait(10)

# 获取当前页面cookie
  bro.execute_script('alert(document.cookie)')
# 获取当前访问的地址
   bro.execute_script('alert(window.location)')
# 滑动屏幕
   bro.execute_script('scrollTo(0,document.documentElement.scrollHeight)')


time.sleep(5)
# 关闭选项卡
bro.close() 
# 关闭页面
bro.quit()

4.selenium切换选项卡

from selenium import webdriver
import time
bro = webdriver.Chrome()
bro.get('https://www.pearvideo.com/')
bro.implicitly_wait(10)

# 获取所有选项卡
print(bro.window_handles)
# 开启选项卡
bro.execute_script('window.open()')

# 切换到某个选项卡
bro.switch_to.window(bro.window_handles[1])
bro.get('http://www.taobao.com')
# 切换到某个选项卡
bro.switch_to.window(bro.window_handles[0])

time.sleep(2)
# 关闭选项卡
bro.close()
# 关闭页面
bro.quit() 

5.selenium前进后退,异常处理

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值