Selenium 錯誤 Element is not clickable at point (x, y). Other element would receive the click

在使用Selenium 進行抓取網頁的時候,對網頁中 按鈕或者超鏈接 進行點擊的時候,往往會遇到下列問題

Traceback (most recent call last):
  File "F:/Python_work/PyReview/jnta.py", line 24, in <module>
    WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.PARTIAL_LINK_TEXT, u'下一頁'))).click()
  File "E:\Python3\lib\site-packages\selenium\webdriver\remote\webelement.py", line 77, in click
    self._execute(Command.CLICK_ELEMENT)
  File "E:\Python3\lib\site-packages\selenium\webdriver\remote\webelement.py", line 493, in _execute
    return self._parent.execute(command, params)
  File "E:\Python3\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 256, in execute
    self.error_handler.check_response(response)
  File "E:\Python3\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Element <a href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$ShowListSeach2$DDPager$ctl02$ctl00','')">...</a> is not clickable at point (913, 578). Other element would receive the click: <li id="weibopanel"></li>
  (Session info: chrome=62.0.3202.75)
  (Driver info: chromedriver=2.32.498550 (9dec58e66c31bcc53a9ce3c7226f0c1c5810906a),platform=Windows NT 10.0.14393 x86_64)


造成的原因是  標籤被隱藏  

解決方法很簡單,在點擊之前讓 該鏈接顯示即可:


page = driver.find_element_by_partial_link_text(u'下一頁')
driver.execute_script("arguments[0].scrollIntoView(true);", page) #加上這一句即可
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.PARTIAL_LINK_TEXT, u'下一頁'))).click()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章