selenium库的使用(九):执行JavaScript
有时需要实现像下拉滚动条、弹窗等执行操作,虽然selenium没有提供实现这些操作的方法,但可以使用execute_script()方法模拟运行JavaScript来实现
有时需要实现像下拉滚动条、弹窗等执行操作,虽然selenium没有提供实现这些操作的方法,但可以使用execute_script()方法模拟运行JavaScript来实现
网页有一个元素iframe,它的结构与外部网页的结构完全一样,可以理解为页面的子页面。selenium默认在父级iframe里面操作,但如果元素在子级iframe,此时selenium是无法定位到元素的,为了定位该元素,需要切换到子iframe后再定位元素
如果浏览器页面没有加载出定位元素,则引发元素不可见异常,添加等待时间能很好的解决这个问题:强制等待(time.sleep)
、selenium提供的 隐性等待
和 显性等待
ActionChains是一种自动化低级交互的方式,如鼠标移动、鼠标按钮动作、按键和上下文菜单交互,这对于进行更复杂的操作(如悬停和拖放)非常有用
爬虫可能会遇到这样的需求,比如账号密码要输入或清空文本、按钮或链接要执行点击操作,这些可以通过WebElement类对象的方法实现
使用selenium成功定位元素后,会返回 WebElement
类对象的一串描述;实际上, WebElement
提供了属性和方法来获取元素的文本值和属性值(比如文本、图片链接),这样就不必再解析(比如使用BeautifulSoup库解析)源代码来获取信息了,节省很多步骤
selenium提供了多种方法来定位页面中的一个或多个元素,使用哪种方法视情况而定
selenium支持所有主流的浏览器,比如常用的Chrome、Firefox、Edge等浏览器,这里使用Chrome浏览器来设置有头或无头模式
通过 Python Requests 实现 ZeppLife(原小米运动)APP步数修改,步数可以同步到支付宝(为了296g能量)或微信。支持手机号和邮箱运行
docker运行的python3容器没有如期运行,在查看该容器日志时发现了这个异常,查询得知好像跟容器内安装的opencv库有关,记录下解决方法