我正在尝试使用<td>
从包含一些特定文本的表格中找到Python Selenium
元素,我能够得到它。但是当我在selected元素上调用parent方法时,它返回table的实例,而不是表的父行。我正在做的是
driver = webdriver.Firefox()
driver.get('http://www.example.com')
WebDriverWait(driver, self.explicit_wait).until(
EC.presence_of_element_located((By.ID, "table-id"))
)
td = driver.find_element_by_xpath("//*[contains(text(), 'some texts')]"
parent_row = td.parent # get the parent of td element
但在parent_row
驱动程序中返回表实例而不是行实例。
帮助将不胜感激
答案 0 :(得分:2)
根据Webdriver specification,无法直接使用WebDriver获取父元素。硒中WebElement
的{{3}} Python绑定在内部使用,并不指代元素的直接父级。它指的是您在WebDriver
上调用find_element_by_*
的实例:
parent
从此发现此元素的WebDriver实例的内部引用。
您可以使用xpath获取父元素:
parent_row = td.find_element_by_xpath("..")