Search code examples
python-3.xseleniumxpathhrefwebscarab

What is the way of clicking on links which could not be scrolled into view by Selenium + Python?


This is piece if my code:

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

But, this error are occurred:

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

Could you help me, please?


Solution

  • Try JavaScript click:

    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)