百度指数+selenium+request+比特指纹浏览器+pywebview+pandas+flask过程性

   日期:2024-11-07    作者:caijiyuan 移动:http://g8akg8.riyuangf.com/mobile/quote/2477.html

使用selenium获得的cookies测试没有问题,但是获得的heards头不可以使用,经过测试比较 需要添加或者修改几项重点的heards为

百度指数+selenium+request+比特指纹浏览器+pywebview+pandas+flask过程性

 

获得新的heards后直接用代码

 

element = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.ID, “myElement”)) )

element = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.CSS_SELECTOR, “button.myButton”)) )

就用selenium登录后调用方法获取就行

 

然后切分cookies使得可以直接使用

 

这个部分正常的selenium是获得不了的,需要用到另一个库:seleniumwire 通过这个库的方法可以获得浏览器的heards,再添加一些关键词,就可以实现获得可用的heards

 

这样就得到了可以直接使用的headrs

 

同时有个重要的功能就是上面的

 

无界面也就是常说的无头模式的浏览器,这样的浏览器不会显示界面,比较适用于不需要和页面互动的任务或者想提升效率的任务

在selenium中,很多报错是因为元素点击不了,有很多原因,有可能是被挡住了,有可能是有一部分被挡住了,有可能是还没有加载出来,有一个解决百分之80的办法就是使用js,没必要使用selenium自带的移动模拟鼠标和点击,直接使用js,点击元素最为方便

 

通用还有好处是,js点击不会报错,常用的场景是,有一个广告,并不是每次都会出现,如果你要是点击他但是没有还会报错,用js就可以解决这个问题,js执行之后不论成功不成功,并不会报错,比较安全 js还有个常用的功能是滚动到目标元素的位置,通过这个方法可以解决那些因为元素不在界面所以无法点击的问题,常见的情况是:在一个界面中有多选框,点开之后有一部分在下面再遮挡

 

selenium有时候有的元素不确定什么时候才会加载好,个人觉得好使的方法有两种,一种是等待这个元素直到他可以被点击为止

 

第二种是,等待这个元素直到这个元素加载完成

 

注意,要导入的库WebDriverWait和EC

需要为创建驱动这个方法创建一个工具类

 

这两个方法在工具类中可以做到创建驱动和关闭驱动,在主flask文件导入这个模块的WebDriverManager之后调用get或close方法就可以使用同一个驱动了,亲测可用

 

可以更方便的定位元素,更加人性化的设计

方法1

 

可以给不边的对象用列表然后长度和迭代的对齐来解决,即:[不变的变量]*len(变的对象的长度)

1

 

2

 

3

 

y轴自动划分精度

 

在中间绘制一条虚线,用来整平均值

 

设置 y 轴的取值范围和刻度


 

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号