selenium怎么实现文件拖拽上传功能 python下使用selenium怎么才能控制浏览器加载某个元素
selenium怎么实现文件拖拽上传功能
selenium只能操作浏览器的对象,不能操作windows对象
selenium里面有页面元素的拖拽操作
调用第三方的东东,貌似可以实现文件上传,这个我也正在研究中
但是直接将文件托在浏览器实现上传,这个selenium好像还真不行……
文件本身是属于windows的
python下使用selenium怎么才能控制浏览器加载某个元素
要尝试爬取页面数据,
若是使用selenium去打开浏览器模拟点击貌似不太方便。
我通常都是先想办法获取到对应页面模块的api请求,再模拟发送请求,最后分析响应到的数据。
比如这个京东的商品评价,可以通过以下方式获得api:
1. 在chrome中打开页面,也打开dev tool,
页面拉到评价区域,清除tool中的已有的request,
点击商品评价区域的不同标签,如:差评,
这时会capture到新的request,从头开始一个个的找过去,
2. 因为是get的,所以尝试直接访问:
发现这个就可以直接得到内容。
3. 接下来再搞清楚下url中,p-100012-s-1-t-3-p-0这一串的含义:
因为商品sku是100012,所以p-100012比较好理解。
4. 点击商品评价区域的不同标签,如:好评,同样方法,找到的是:
可以看出来,好评和差评,不一样的是s-1、s-3,
那就再点下中评,发现是:
这样,多点点切换标签页,最终可以看出来:全部s-0、差评s-1、中评s-2、好评s-3、有图片的s-4。
5. 再在中评中点击第二页,第三页,最终发现:
第一页p-0、第二页p-1、第三页p-2。
6. 不过,t-3那个没找到规律,就不知道是什么了。-_-||
7. 哦,还要分析下响应到的数据,
看看json数据,比对页面显示的内容,可以发现:
productCommentSummary应该是该sku评论的统计概要:
productCommentSummary[goodRateShow]应该是好评度,
productCommentSummary[commentCount]应该是全部评论数,
productCommentSummary[score1Count]应该是一颗星的评论数,
productCommentSummary[score2Count]应该是两颗星的评论数
……
comments应该是评论列表,comments[0]是第一条评论详情:
comments[0][content]:评价内容
comments[0][creationTime]:评价时间
comments[0][score]:顾客满意度
comments[0][usefulVoteCount]: 赞
comments[0][referenceTime]:购买时间
comments[0][replyCount]:回复
……
hotCommentTagStatistics列表就是:买家印象
嗯,就这样:知道了api,知道了url规则,知道了response格式,就可以写个大概的脚本跑一跑,再慢慢修改到最终要的结果。
selenium 怎么操作下拉框
String listValue = "需要选择的下拉框中的文字"
Select select = new Select(webElement)
select.selectByVisibleText(listValue)