<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>

                **實現網頁的鍵盤輸入操作** ~~~ from selenium.webdriver.common.keys import Keys 動態網頁有時需要將鼠標懸停在某個元素上,相應的列表選項才能顯示出來。 而爬蟲在工作的時候也需要相應的操作,才能獲得列表項。 driver.find_element_by_class_name(...).send_keys(需要輸入的字串) #find_element_by_class_name可以是find_element_by_link_text、find_element_by_id等其他方式 #send_keys一些特殊字符串,可以通過help(Keys)顯示出來,如實現按回車操作需要使用Keys.ENTER ~~~ **實現網頁上的鼠標的動作** driver.find_element_by_link_text('更多').click()#需要指示到/a鏈接的位置 #同樣find_element_by_link_text可以是find_element_by_id等類似的其他方式 使用ActionChains可以實現鼠標的更多操作 ~~~ from selenium.webdriver.common.action_chains import * ~~~ ActionChains中的操作: click() -- 單擊、click_and_hold()-- 按下鼠標左鍵在一個元素上、context_click() --單擊、double_click()--雙擊、drag_and_drop()--拖動、key_down()、key_up()、move_by_offset()、move_to_elment()、move_to_elment_with_offset() **動態網頁鼠標操作及遇到的問題** 動態網頁有時需要將鼠標懸停在某個元素上,相應的列表選項才能顯示出來。而爬蟲在工作的時候也需要相應的操作,才能獲得列表項。 ~~~ #首先需要將鼠標停留到相應的元素 chain = ActionChains(driver) moveelment = driver.find_element_by_xpath("...") chain.move_to_element(moveelment).perform() driver.find_element_by_xpath("//div[@class='search-condition c5 drop-down']/a/div").click() #而后進行選擇列表項 driver.find_element_by_xpath("//ul[@id='category_list']/li[1]/a").click() driver.find_element_by_xpath("//ul[@id='category_list']/li[2]/a").click() ~~~ 而當想要進行多列操作時出現了問題:driver.find_element_by_xpath("//ul[@id='category_list']/li[2]/a").click()一直無法成功仔細debug發現:在人工瀏覽查看相應列表時,全屏情況下列表顯示是3列,而當需要聚焦特殊網頁時,通過解析current_url進行比較即可,是否存在更好的方法。如果窗口很小就只能顯示第一列的值。所以嘗試將爬蟲后臺瀏覽器窗口設置成最大化,程序正常工作,如下: ~~~ #... ... driver.find_element_by_xpath("//ul[@id='category_list']/li[1]/a").click() driver.maximize_window() time.sleep(1) driver.find_element_by_xpath("//ul[@id='category_list']/li[2]/a").click() ~~~ 關于窗口的頁面切換方式 經常在網頁操作時,會彈出新的頁面,而爬蟲需要程序進行窗口間的切換。 ~~~ #切換網頁,以獲取新彈出的網頁窗口 for handle in driver.window_handles: driver.switch_to_window(handle) print('current url:%s'%driver.current_url) ~~~ 當需要聚焦特殊網頁時,通過解析current_url進行比較即可,是否存在更好的方法。
                  <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>

                              哎呀哎呀视频在线观看