如何在python selenium中滚动网页?

如何在python selenium中滚动网页?,python,selenium,selenium-webdriver,webdriver,selenium-chromedriver,Python,Selenium,Selenium Webdriver,Webdriver,Selenium Chromedriver,我正在尝试自动捕获谷歌会议的参与者名单。我正在Python中使用Selenium 我已登录并成功加入会议。然后,在尝试获取元素和文本时,我遇到了一些问题 names = driver.find_elements_by_css_selector('div.cSO8I.N4cbF div.G3llDe.Dxboad div.cS7aqe.NkoVdd') 我得到了如下元素列表: [<selenium.webdriver.remote.webelement.WebElement (sessio

我正在尝试自动捕获谷歌会议的参与者名单。我正在Python中使用Selenium

我已登录并成功加入会议。然后,在尝试获取元素和文本时,我遇到了一些问题

names = driver.find_elements_by_css_selector('div.cSO8I.N4cbF div.G3llDe.Dxboad div.cS7aqe.NkoVdd')
我得到了如下元素列表:

[<selenium.webdriver.remote.webelement.WebElement (session="8c985f19fd463e89e66778e6065490e7", element="227cf87e-59ec-4c2e-b880-de9bead540cb")>, <selenium.webdriver.remote.webelement.WebElement (session="8c985f19fd463e89e66778e6065490e7", element="c985d1c1-1128-4d82-9864-4d8c087dd4bb")>, <selenium.webdriver.remote.webelement.WebElement (session="8c985f19fd463e89e66778e6065490e7", element="d01d2f87-88eb-468b-b748-223c43e61961")>, <selenium.webdriver.remote.webelement.WebElement (session="8c985f19fd463e89e66778e6065490e7", element="1d3f114e-786e-4905-a8ea-02353d0da7ef")>, <selenium.webdriver.remote.webelement.WebElement (session="8c985f19fd463e89e66778e6065490e7", element="907af305-f9a9-43d1-a08a-e487c3aa18d8")>, <selenium.webdriver.remote.webelement.WebElement (session="8c985f19fd463e89e66778e6065490e7", element="3cfedad6-e4cb-49ee-affa-164006bf6894")>, <selenium.webdriver.remote.webelement.WebElement (session="8c985f19fd463e89e66778e6065490e7", element="8a10b259-3128-48ea-b717-9976cf2d52cd")>, <selenium.webdriver.remote.webelement.WebElement (session="8c985f19fd463e89e66778e6065490e7", element="2c80a0c9-69ac-4d1a-bbf4-7e23a5bb1c4f")>, <selenium.webdriver.remote.webelement.WebElement (session="8c985f19fd463e89e66778e6065490e7", element="d947ab6d-b58e-47fe-a8dd-1f8cb7bfafb7")>, <selenium.webdriver.remote.webelement.WebElement (session="8c985f19fd463e89e66778e6065490e7", element="f79b2b88-a2b4-482e-ac79-ef93e0758b1d")>, <selenium.webdriver.remote.webelement.WebElement (session="8c985f19fd463e89e66778e6065490e7", element="3e1d10af-a8da-415c-8fca-61139246170b")>, <selenium.webdriver.remote.webelement.WebElement (session="8c985f19fd463e89e66778e6065490e7", element="845ea5b8-91b0-4a57-b161-82ff95e1bb2d")>]
它返回了一些名称,但不是全部,并遇到以下错误

Traceback (most recent call last):
  File "<pyshell#12>", line 2, in <module>
    print(e.text)
  File "C:\Users\GUNGUN\AppData\Local\Programs\Python\Python37\Lib\site-packages\selenium\webdriver\remote\webelement.py", line 76, in text
    return self._execute(Command.GET_ELEMENT_TEXT)['value']
  File "C:\Users\GUNGUN\AppData\Local\Programs\Python\Python37\Lib\site-packages\selenium\webdriver\remote\webelement.py", line 633, in _execute
    return self._parent.execute(command, params)
  File "C:\Users\GUNGUN\AppData\Local\Programs\Python\Python37\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\GUNGUN\AppData\Local\Programs\Python\Python37\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document
  (Session info: chrome=86.0.4240.193)
回溯(最近一次呼叫最后一次):
文件“”,第2行,在
打印(电子文本)
文件“C:\Users\GUNGUN\AppData\Local\Programs\Python\37\Lib\site packages\selenium\webdriver\remote\webelement.py”,第76行,文本
返回self.\u执行(Command.GET\u元素\u文本)['value']
文件“C:\Users\GUNGUN\AppData\Local\Programs\Python\Python37\Lib\site packages\selenium\webdriver\remote\webelement.py”,第633行,在\ u execute
返回self.\u parent.execute(命令,参数)
文件“C:\Users\GUNGUN\AppData\Local\Programs\Python\Python37\Lib\site packages\selenium\webdriver\remote\webdriver.py”,执行中第321行
self.error\u handler.check\u响应(响应)
文件“C:\Users\GUNGUN\AppData\Local\Programs\Python\37\Lib\site packages\selenium\webdriver\remote\errorhandler.py”,第242行,在check\u响应中
引发异常类(消息、屏幕、堆栈跟踪)
selenium.common.exceptions.StaleElementReferenceException:消息:stale元素引用:元素未附加到页面文档
(会话信息:chrome=86.0.4240.193)
我想滚动网页,但徒劳

def t():
    n = int(driver.find_element_by_css_selector('div.eUyZxf span.rua5Nb').text.strip('(').strip(')'))
# n giving the number of participants
    L = []
    names = driver.find_elements_by_css_selector('div.cSO8I.N4cbF div.G3llDe.Dxboad div.cS7aqe.NkoVdd')
    while len(L)<n:
        try:
            for i in names:
                L.append(i.text)
        except:
            html.send_keys(Keys.PAGE_DOWN)
    print(L)
def t():
n=int(driver.find_element_by_css_选择器('div.eUyZxf span.rua5Nb')).text.strip('(').strip(')'))
#n给出参与人数
L=[]
名称=驱动程序。通过css选择器(“div.cSO8I.N4cbF div.G3llDe.Dxboad div.cS7aqe.NkoVdd”)查找元素

而len(L)则需要先将鼠标移动到元素:

ActionChains(驱动程序)。将_移动到_元素(通过.XPATH,“右侧的XPATH”)。执行()
然后,你需要向下滚动

驱动程序。通过标记名('html')查找元素。发送密钥(keys.END)

您可以使用
键。向下翻页
,但这将引导您到参与者列表的末尾。

这是一个很好的解决方案,但当时我需要围绕鼠标进行其他工作,是否可能仅使用键盘才能完成?非常感谢兄弟,实际上我现在已经尝试过了,它不需要鼠标的要求
def t():
    n = int(driver.find_element_by_css_selector('div.eUyZxf span.rua5Nb').text.strip('(').strip(')'))
# n giving the number of participants
    L = []
    names = driver.find_elements_by_css_selector('div.cSO8I.N4cbF div.G3llDe.Dxboad div.cS7aqe.NkoVdd')
    while len(L)<n:
        try:
            for i in names:
                L.append(i.text)
        except:
            html.send_keys(Keys.PAGE_DOWN)
    print(L)