python - Python Selenium - 如何单击非按钮元素
问题描述
我一直在尝试单击https://blockchain.coinmarketcap.com/chain/bitcoin上的按钮,但没有成功(如下图所示)。我什至无法获得我想要单击的元素。如果有人可以帮助我找到该元素以及如何单击它,那将对我非常有帮助。提前致谢。 我试图点击的按钮是第 2 页按钮
解决方案
首先,您需要等到元素出现在页面上,然后滚动到它,然后单击它。
我试图这样做:
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()
推荐阅读
- twitter-bootstrap - 我用引导程序制作了 4 列,但我希望它们之间有一些边距,但是第 4 列将转到下一行,我该如何解决这个问题?
- sql-server - 选择后如何对N条记录进行排序?
- firebase - Recyclerview 无法让我的代码显示来自多个用户创建的多个键的记录
- java - 如何避免在jpa中从多对多中删除实体
- django - Django,如何获取cookie过期的时间
- c# - 为什么同一类型的两个视图不能正确返回当前行?
- netbeans - 任何有用的netbeans快捷方式?
- java - Java 类的 Clojure Ahead-of-Time 编译失败“找不到匹配的即时方法,为类 java.time.LocalDate 采用 2 个参数”
- r - dplyr 根据我们正在迭代的元素改变新列
- c# - IoT Hub 使用 Visual Studio Code 触发的 Azure Function App 问题