Selenium模拟鼠标滚轮与xpath定位兄弟元素方法总结(不定时更新)

Selenium滚动页面:

方法一:适用于页面中元素成功定位,但元素不可见的状况

# 存在多个元素时,可使用以下方法
driver.execute_script('arguments[0].scrollIntoView();', driver.find_elements('id', 'kw')[0])
# 元素为唯一元素时,可使用以下方法
driver.execute_script('arguments[0].scrollIntoView();', driver.find_element('id', 'su'))

Xpath定位兄弟元素:

定位兄弟元素:

# 定位与当前元素同级的之前的元素
//div[@="class"]/preceding-sibling::div[1]
# 定位与当前元素同级的之前的元素
//div[@="class"]/following-sibling::div[1]


# 加入额外定位条件
//div[@="class"]/preceding-sibling::div[1][@class="123"]    # 且兄弟div中class元素等于123
//div[@="class"]/preceding-sibling::div[1][contains(text(), "123")]   # 且兄弟div中文本内容等于123
//div[@="class"]/preceding-sibling::div[1][not(contains(text(), "123"))]  # 且兄弟div中文本内容不包含123

定位兄弟元素下的子孙元素:

# 定位哥哥们的子孙元素
//div[@="class"]/preceding-sibling::div[1]//div[@class="XXX"]
# 定位弟弟们的子孙元素
//div[@="class"]/following-sibling::div[1]//div[@class="XXX"]

Xpath定位中使用逻辑运算符:

# 其中and可替换为or
//li[@class="ant-dropdown-menu-item" and @role="menuitem"]/a[contains(text(),"修改")]

Xpath定位不包含某个字符:

# 不包含某个字符
//div[not(contains(@style,"top: -"))]/ul/li/a[contains(text(),"修改")]
# 不包含id元素
//div[not(@id)]


                                                                                                 YX9010_0@的第十篇文章

                                                                                                                2022/04/14

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值