selenium 杂谈

一、selenium 抓取不到元素

一开始我以为是iframe的问题 但是页面上并没有 后来我发现了一个shadowDOM模块
在这里插入图片描述
涨这个样子,网上搜了搜大概的内容就是这个标签下面是封装好了的 ,跟原始文档有所区分,独立存在。导致了你找不到这个元素,·driver.page_source·都不行,抓取不到,网上找到了2种解决方案,我试了第一种,第二种没用代码尝试过不过手动是可以的,感兴趣的可以试一试

第一种:使用js抓取

1、先定位到shadow-root的宿主节点(此处为id=usercentrics-root的div),然后切换到shadow-root中

在这里插入图片描述

2、然后再选择shadow-root下的section标签

在这里插入图片描述
注1: 接下来的操作只能是children,看是第几个标签往后面跟0,1,2,3,4
注2:如果要是需要点击可以xxx.children[4].click()即可
例如:

document.getElementById(‘usercentrics-root’).shadowRoot.children[0].children[1].children[1].children[0].children[2].

3、用selenium 调用js

self.chrome.execute_script(button_js)
就大功告成了

第二种 简单粗暴的按键

导入 from selenium.webdriver.common.keys import Keys
driver.send_keys(Keys.TAB) #按下TAB健
这种方法只可意会不可言传,需要各位在各自的页面上手动按下TAB键目测其变化方可写出优质代码
附上按键表

Keys.BACK_SPACE:回退键(BackSpace)
Keys.TAB:制表键(Tab)
Keys.ENTER:回车键(Enter)
Keys.SHIFT:大小写转换键(Shift)
Keys.CONTROL:Control键(Ctrl)
Keys.ALT:ALT键(Alt)
Keys.ESCAPE:返回键(Esc)
Keys.SPACE:空格键(Space)
Keys.PAGE_UP:翻页键上(Page Up)
Keys.PAGE_DOWN:翻页键下(Page Down)
Keys.END:行尾键(End)
Keys.HOME:行首键(Home)
Keys.LEFT:方向键左(Left)
Keys.UP:方向键上(Up)
Keys.RIGHT:方向键右(Right)
Keys.DOWN:方向键下(Down)
Keys.INSERT:插入键(Insert)
DELETE:删除键(Delete)
NUMPAD0 ~ NUMPAD9:数字键1-9
F1 ~ F12:F1 - F12键
(Keys.CONTROL, ‘a’):组合键Control+a,全选
(Keys.CONTROL, ‘c’):组合键Control+c,复制
(Keys.CONTROL, ‘x’):组合键Control+x,剪切
(Keys.CONTROL, ‘v’):组合键Control+v,粘贴

可以试着玩一玩

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值