代码之家  ›  专栏  ›  技术社区  ›  Hamed Baziyad sagar pagare

单击Selenium+Python无法滚动到视图中的链接的方式是什么?

  •  2
  • Hamed Baziyad sagar pagare  · 技术社区  · 6 年前

    如果我的代码是:

    x=driver.find_element_by_xpath("""//*[@id="react-root"]/section/main/article/div[1]/div/div/div[1]/div[2]/a""")
    x.click()
    

    但是,出现以下错误:

    selenium.common.exceptions.ElementNotInteractableException: Message: Element <a href="/p/BgEcF34Fqf6/?tagged=fast"> could not be scrolled into view
    

    你能帮帮我吗?

    2 回复  |  直到 6 年前
        1
  •  6
  •   colin-zhou GirishB    5 年前

    尝试JavaScript单击:

    from selenium.webdriver.remote.webelement import WebElement
    
    
    def javascript_click(self, locator):
        element = None
        if isinstance(locator, str):
            element = self.find_element(locator)
        elif isinstance(locator, WebElement):
            element = locator
    
        if element is not None:
            self._driver.execute_script("arguments[0].click();", element)
        else:
            raise Exception("Could not click on locator " + element)
    
        2
  •  0
  •   Hamed Baziyad sagar pagare    6 年前

    我使用了这个经过仔细处理的代码:

    #Scroll down the page to load more posts
        driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
        time.sleep(10)
        j=j+1
    

    注意,您可以使用for语法将此滚动概括为多个信誉。