pythonselenium-webdriverwebwebdriverclick

how to click on link text selenium python


i tried to click on link text but no work. Unable to locate element: {"method":"link text","selector":"Bán chạy"}

please help me. My code: driver.find_element_by_link_text('Bán chạy').click()

https://shopee.vn/search?keyword=iphone

strong text

enter image description here


Solution

  • You can do it by below way

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    
    wait = WebDriverWait(driver, 20)
    element = wait.until(EC.element_to_be_clickable((By.XPATH, "//*[contains(text(), 'Bán chạy')]")))
    element.click()
    

    OR

    wait = WebDriverWait(driver, 20)
        element = wait.until(EC.element_to_be_clickable((By.XPATH, "//*[normalize-space(),'Bán chạy']")))
        element.click()