前面寫了定位方法基本上都是單個定位方法,如果我們想要定位頁面上的多個相同的元素呢?這樣我們應該怎么定位?selenium這么強大,提供了有find_elements方法來幫助我們定位多個相同的元素
find_elements
find_elements屬於selenium中復數的定位元素內容。find_elements主要定位定位頁面上多個相同的元素坐標。
源碼:(這里我們簡單的拿一個進行查看)
def find_elements_by_xpath(self, xpath): """ Finds multiple elements by xpath. :Args: - xpath - The xpath locator of the elements to be found. :Returns: - list of WebElement - a list with elements if any was found. An empty list if not :Usage: elements = driver.find_elements_by_xpath("//div[contains(@class, 'foo')]") """ return self.find_elements(by=By.XPATH, value=xpath)
可以發現定位方法和find_element其實一樣的,只不過多了一個s相當於定位多組
小試牛刀
這里安靜來拿百度的搜索結果來使用find_elements
先在百度搜索測試-安靜
找到多個元素,class="result c-container ",我們通過復數進行定位,然后獲取全部的文本內容
通過一個簡單的例子,認識find_elements復數定位。具體的一些實例方法,我們后續一點點的涉及。
安靜寫的文章如果對您有幫助,點個關注,持續更新。不懂的或者寫錯的地方,可以下方留言。