我在查找元素“Next Button”时遇到问题,并在网页
中使用 Python 中的 Selenium 单击该元素代码试验:
try:
driver.find_element(By.CSS_SELECTOR, ".artdeco-pagination__button--next").click()
except NoSuchElementException:
print("No Next button, skipped.")
有什么帮助吗?
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