如何在Python中使用Selenium点击Linkedin中的下一个按钮?

问题描述 投票:0回答:1

我在查找元素“Next Button”时遇到问题,并在网页

中使用 Python 中的 Selenium 单击该元素

代码试验:

try: 
   driver.find_element(By.CSS_SELECTOR, ".artdeco-pagination__button--next").click()
except NoSuchElementException: 
   print("No Next button, skipped.")

有什么帮助吗?

python selenium-webdriver xpath css-selectors webdriverwait
1个回答
0
投票

webpage 上的 Next 元素是动态元素,因此要单击 clickable 元素,您需要为 element_to_be_clickable() 引入 WebDriverWait,并且您可以使用以下任一方法以下定位器策略

  • 使用

    CSS_SELECTOR

    driver.get("https://www.linkedin.com/search/results/companies/?origin=SWITCH_SEARCH_VERTICAL&sid=ie%3B%5C") WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button[aria-label='Next'] li-icon.artdeco-button__icon +span.artdeco-button__text))).click()
    
    
  • 使用

    XPATH

    driver.get("https://www.linkedin.com/search/results/companies/?origin=SWITCH_SEARCH_VERTICAL&sid=ie%3B%5C") WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//span[@class='artdeco-button__text' and text()='Next']"))).click()
    
    
  • 注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
    
    
© www.soinside.com 2019 - 2024. All rights reserved.