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)]


                                                                                                 LJS0717TT@的第十篇文章

                                                                                                                2022/04/14


版权声明:本文为GLYX5717原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。