首页 > 解决方案 > Python Selenium - 如何单击非按钮元素

问题描述

我一直在尝试单击https://blockchain.coinmarketcap.com/chain/bitcoin上的按钮,但没有成功(如下图所示)。我什至无法获得我想要单击的元素。如果有人可以帮助我找到该元素以及如何单击它,那将对我非常有帮助。提前致谢。 我试图点击的按钮是第 2 页按钮

标签: pythonseleniumbeautifulsoup

解决方案


首先,您需要等到元素出现在页面上,然后滚动到它,然后单击它。
我试图这样做:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains

pagination_2_el_xpath = '//li[@class="ant-pagination-item ant-pagination-item-2"]'

pagination_2_el = wait.until(EC.presence_of_element_located((By.XPATH, pagination_2_el_xpath)))

time.sleep(0.1)

actions = ActionChains(driver)
actions.move_to_element(pagination_2_el).perform()

pagination_2_el.click()

此外,最好单击“下一页”按钮,这样您就可以使用它:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains

next_page_css = 'li.ant-pagination-next'

next_page = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, next_page_css)))

time.sleep(0.1)

actions = ActionChains(driver)
actions.move_to_element(next_page).perform()

next_page.click()

推荐阅读