如何点击没有herf链接的图标与selenium

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

我是编程新手,我正在尝试抓取这个网站。 很抱歉,该网站仅适用于韩国人。

我想要的是使用selenium(python)移动到搜索的下一页。 在另一个站点,我可以做到这一点,使用 xpath 查找元素并发送 ' ' 键。 但在网站上,同样的方法不起作用。

页码代码如下 page num code。 它没有 Herf 链接,只有 li 元素。 我如何选择元素并单击它?

我也尝试了下面的代码和.click()。

driver.find_element_by_xpath('//*[@id="app"]/div[2]/div[2]/div[2]/div[4]/div[1]/div[7]/div/ul/li[4]').send_keys('\n')

我期待移至下一页。

python selenium-webdriver web-crawler
1个回答
0
投票

要通过分页移至下一页,您应该执行以下操作:

  1. 定义下一页分页按钮选择器(
    button.pageNext
  2. 等待下一个按钮出现
  3. 滚动到元素并使其出现在视口中
  4. 当元素不在视口中时,等待滚动完成以避免出现临时状态
  5. 点击按钮
def wait_for_element_location_to_be_stable(element):
    initial_location = element.location
    previous_location = initial_location
    start_time = time.time()
    while time.time() - start_time < 1:
        current_location = element.location
        if current_location != previous_location:
            previous_location = current_location
            start_time = time.time()
        time.sleep(0.4)

wait = WebDriverWait(driver, 20)
actionChains = ActionChains(driver)

url = "https://www.kcar.com/bc/search"
driver.get(url)

next_button = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, 'button.pageNext')))
actionChains.scroll_by_amount(next_button.location['x'], next_button.location['y'] - 100).perform()
wait_for_element_location_to_be_stable(next_button)
next_button.click()
© www.soinside.com 2019 - 2024. All rights reserved.