使用 selenium.click() 更改页面但出现错误

using selenium.click() to change pages but gets error

我正在尝试单击 div 以进入 table 的下一页(url 在页面更改时不会更改)。转到下一页 div 与转到上一页的 class 相同。 我用过:

elem = driver.find_element_by_class_name('cXQSjq')
elem.click()

timeout = 30
try:
    WebDriverWait(driver, timeout).until(EC.visibility_of_element_located((By.CLASS_NAME, "gxzFwa")))
except TimeoutException:
    driver.quit()
        
names = driver.find_elements_by_class_name('iBSZGH')
for company in names[1:]:
    name.append(company.text)
        
mostdata = driver.find_elements_by_class_name('gvgMSe.gJYnHB')
for most in mostdata:
    most = most.text
    most = most.replace(',','')
    data.append(most)

last7dsales = driver.find_elements_by_class_name('fGpHsy.kpsxyE')
for last in last7dsales:
    last = last.text
    last = last.replace(',','')
    last7day.append(last)

#loop for the  other pages:
for i in range(6):

    elem.click()
    
    timeout = 30
    try:
        WebDriverWait(driver, timeout).until(EC.visibility_of_element_located((By.CLASS_NAME, "gxzFwa")))
    except TimeoutException:
        driver.quit()
        
    names = driver.find_elements_by_class_name('iBSZGH')
    for company in names[1:]:
        name.append(company.text)
        
    mostdata = driver.find_elements_by_class_name('gvgMSe.gJYnHB')
    for most in mostdata:
        most = most.text.replace(',','')
        most = most.text.replace(',','')
        data.append(most)

    last7dsales = driver.find_elements_by_class_name('fGpHsy.kpsxyE')
    for last in last7dsales:
        last = last.text.replace(',','')
        last7day.append(last)

它让我进入第 2 页,但在第 2 页之后它给了我错误:

selenium.common.exceptions.ElementClickInterceptedException: Message: element click 
intercepted: Element <div class="styles__Chevron-sc-1buchb9-1 cXQSjq">...</div> is 
not clickable at point (702, 656). Other element would receive the click: <div 
id="hs-eu-cookie-confirmation-inner">...</div>
(Session info: chrome=92.0.4515.107)

您知道在使用 selenium 查找页面的其他部分后我是否可以调用 elem.click() 吗?我正在从中抓取数据 https://nonfungible.com/market/history

我想这里的问题是页面底部出现了下一页按钮,因此要单击它,您应该先将此元素滚动到视图中。
看看这现在是否可行:

from selenium.webdriver.common.action_chains import ActionChains

actions = ActionChains(driver)

elem = driver.find_element_by_class_name('cXQSjq')
actions.move_to_element(elem).perform()
time.sleep(0.3)
elem.click()

timeout = 30
try:
    WebDriverWait(driver, timeout).until(EC.visibility_of_element_located((By.CLASS_NAME, "gxzFwa")))
except TimeoutException:
    driver.quit()
        
names = driver.find_elements_by_class_name('iBSZGH')
for company in names[1:]:
    name.append(company.text)
        
mostdata = driver.find_elements_by_class_name('gvgMSe.gJYnHB')
for most in mostdata:
    most = most.text
    most = most.replace(',','')
    data.append(most)

last7dsales = driver.find_elements_by_class_name('fGpHsy.kpsxyE')
for last in last7dsales:
    last = last.text
    last = last.replace(',','')
    last7day.append(last)

#loop for the  other pages:
for i in range(6):
    actions.move_to_element(elem).perform()
    time.sleep(0.3)
    elem.click()
    
    timeout = 30
    try:
        WebDriverWait(driver, timeout).until(EC.visibility_of_element_located((By.CLASS_NAME, "gxzFwa")))
    except TimeoutException:
        driver.quit()
        
    names = driver.find_elements_by_class_name('iBSZGH')
    for company in names[1:]:
        name.append(company.text)
        
    mostdata = driver.find_elements_by_class_name('gvgMSe.gJYnHB')
    for most in mostdata:
        most = most.text.replace(',','')
        most = most.text.replace(',','')
        data.append(most)

    last7dsales = driver.find_elements_by_class_name('fGpHsy.kpsxyE')
    for last in last7dsales:
        last = last.text.replace(',','')
        last7day.append(last)

我没有检查你其余代码的正确性,但现在点击下一步按钮应该可以了