selenium---快速跳轉到指定元素


  web自動化中經常遇到頁面元素沒有在視圖范圍內,需要通過滾動條才能讓其出現。前面介紹了JS的方法,可以直接跳轉到對應的元素上,今天安靜在介紹webdriver中自帶的方法

location_once_scrolled_into_view

location_once_scrolled_into_view表示查看頁面上是否存在該元素,如果存在就會使元素滾動到視圖中

源碼:

@property
    def location_once_scrolled_into_view(self):
        """此屬性可能在沒有警告的情況下發生更改。用這個來發現
  元素在屏幕上的位置,這樣我們就可以點擊它。這個方法
  應該使元素滾動到視圖中。
  返回屏幕上左上角的位置,或' ' None ' '如果
  該元素不可見。
        """
        if self._w3c:
            old_loc = self._execute(Command.W3C_EXECUTE_SCRIPT, {
                'script': "arguments[0].scrollIntoView(true); return arguments[0].getBoundingClientRect()",
                'args': [self]})['value']
            return {"x": round(old_loc['x']),
                    "y": round(old_loc['y'])}
        else:
            return self._execute(Command.GET_ELEMENT_LOCATION_ONCE_SCROLLED_INTO_VIEW)['value']

這樣一看,其實和我們JS的方法一樣,都是將我們的元素視圖展示出來

代碼操作

安靜拿百度搜索,然后將下一頁的展示出來

from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.find_element_by_id('kw').send_keys('測試安靜')
driver.find_element_by_id('su').click()
time.sleep(4)
driver.find_element_by_xpath('//*[@class="n"]').location_once_scrolled_into_view

通過動圖可以看出來,下一頁的元素已經展示在我們的頁面上了。滾動條還沒有到最底部。

 

這一張沒有很多的知識點,只是為了介紹一種如何快速跳轉到指定元素並將其視圖展示出來。小伙伴們趕快動手操作下吧


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM