<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] 前言 ??? selenium并不是萬能的,有時候頁面上操作無法實現的,這時候就需要借助JS來完成了。 常見場景: 當頁面上的元素超過一屏后,想操作屏幕下方的元素,是不能直接定位到,會報元素不可見的。 這時候需要借助滾動條來拖動屏幕,使被操作的元素顯示在當前的屏幕上。 滾動條是無法直接用定位工具來定位的。selenium里面也沒有直接的方法去控制滾動條, 這時候只能借助JS了,還好selenium提供了一個操作js的方法: execute_script(),可以直接執行js的腳本。 <br /> ## 一、JavaScript簡介 1. JavaScript是世界上最流行的腳本語言,因為你在電腦、手機、平板上瀏覽的所有的網頁,以及無數基于HTML5的手機App,交互邏輯都是由JavaScript驅動的。簡單地說,JavaScript是一種運行在瀏覽器中的解釋型的編程語言。 那么問題來了,為什么我們要學JavaScript? 2. 有些特殊的操作selenium2+python無法直接完成的,JS剛好是這方面的強項,所以算是一個很好的補充。 <br /> 二、元素聚焦 1. 雖然用上面的方法可以解決拖動滾動條的位置問題,但是有時候無法確定我需要操作的元素在什么位置,有可能每次打開的頁面不一樣,元素所在的位置也不一樣,怎么辦呢? 2. 這個時候我們可以先讓頁面直接跳到元素出現的位置,然后就可以操作了。同樣需要借助JS去實現。 3. 元素聚焦: ``` target = driver.find_element_by_xxxx() driver.execute_script("arguments[0].scrollIntoView();", target) ``` <br /> 三、scrollTo函數 ---scrollHeight?獲取對象的滾動高度。? ---scrollLeft?設置或獲取位于對象左邊界和窗口中目前可見內容的最左端之間的距離。? ---scrollTop?設置或獲取位于對象最頂端和窗口中可見內容的最頂端之間的距離。? ---scrollWidth?獲取對象的滾動寬度。 scrollTo函數不存在兼容性問題,直接用這個函數就可以了。 ``` # coding:utf-8 from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.baidu.com") print(driver.name) #滾動到底部 js = "window.scrollTo(0,document.body.scrollHeight)" driver.execute_script(js) #滾動到頂部 js = "window.scrollTo(0,0)" driver.execute_script(js) # 聚焦元素 target = driver.find_element_by_xxxx() driver.execute_script("arguments[0].scrollIntoView();", target) ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看