相对定位器允许你基于其他元素的位置来定位页面上的元素。这对于那些动态生成或者难以通过传统方式(如 ID、类名或 XPath)准确定位的元素非常有用。你可以使用相对位置(上方、下方、左边、右边)以及接近度(靠近)来描述目标元素的位置。
在 Selenium 4 中,相对定位器是通过 with_tag_name
和 near
方法实现的。以下是一个简单的例子:
from selenium.webdriver.common.by import By from selenium.webdriver.support.relative_locator import locate_with # 假设你已经创建了 WebDriver 的实例 driver # 定位一个位于指定文本框旁边的按钮 text_box = driver.find_element(By.ID, "exampleTextBox") relative_locator = locate_with(By.TAG_NAME, "button").near(text_box) button = driver.find_element(relative_locator) # 现在你可以与找到的按钮进行交互 button.click()
相对定位器支持的方法包括:
above
: 元素应该在给定元素的上方。below
: 元素应该在给定元素的下方。to_left_of
: 元素应该在给定元素的左边。to_right_of
: 元素应该在给定元素的右边。near
: 元素应该在给定元素附近(默认距离为50像素,但可以自定义)。