如何向上滚动,然后单击Selenium和python

2024-05-15 07:48:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要在python中单击一个使用selenium的按钮。这就是我所拥有的:

read_more_buttons = responses[0].find_elements_by_class_name("read-more")
            if len(read_more_buttons) > 0:
                read_more_buttons[0].click()

大多数时候它都能正常工作,但有时页面底部会有一个覆盖层,这是无法消除的。因此我会得到这个错误:

^{pr2}$

{1>在调用cd1}代码之前尝试向下滚动:

driver.execute_script("window.scrollTo(0, " + str(read_more_buttons[0].location["y"] + 120) + ")") 

但是,我仍然收到同样的错误。似乎通过调用.click()元素被滚动到页面的最底部,即在覆盖层的正下方。如何向上移动页面然后单击?在


Tags: namereadbymoreselenium错误页面elements
1条回答
网友
1楼 · 发布于 2024-05-15 07:48:14

那些该死的覆盖物!在

在这里,让我们尝试使用JS滚动到视图中,然后单击:

read_more_buttons = responses[0].find_elements_by_class_name("read-more")
if len(read_more_buttons) > 0:
    driver.execute_script("arguments[0].scrollIntoView(true);", read_more_buttons[0])
    driver.execute_script("arguments[0].click()", read_more_buttons[0])

相关问题 更多 >