首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么带有python selenium的execute_script("return document.body.scrollHeight")返回0

带有Python Selenium的execute_script("return document.body.scrollHeight")返回0的原因可能是由于以下几种情况:

  1. 页面加载未完成:当页面还在加载中时,执行该脚本可能会返回0。这是因为document.body.scrollHeight表示整个页面的高度,如果页面还未完全加载,那么页面的高度可能为0。在这种情况下,可以尝试等待页面加载完成后再执行脚本。
  2. 页面内容较少:如果页面内容较少,没有超出浏览器窗口的部分,那么页面的高度可能为0。这通常发生在单页应用或者内容较少的页面上。在这种情况下,可以尝试滚动页面到底部,然后再执行脚本。
  3. 页面结构问题:有时候,页面的结构可能导致脚本返回0。这可能是由于页面中没有<body>标签或者<body>标签的高度为0。在这种情况下,可以尝试修改页面结构或者使用其他元素的高度来代替document.body.scrollHeight

总结起来,带有Python Selenium的execute_script("return document.body.scrollHeight")返回0的原因可能是页面加载未完成、页面内容较少或者页面结构问题。解决方法包括等待页面加载完成后再执行脚本、滚动页面到底部再执行脚本,以及修改页面结构或使用其他元素的高度来代替document.body.scrollHeight

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

python学习之滚动页面函数execute_script

python学习之滚动页面函数execute_script 滚动到底部:window.scrollTo(0,document.body.scrollHeight) 滚动到顶部:window.scrollTo...(0,0) 说明: window:jswindow对象 scrollTo():window方法,可以滚到页面的任何位置 scrollHeight:是dom元素通用属性,document.body.scrollHeight...会返回body元素高度,基本上就是页面的高度 scrollLeft:获取位于对象左边界和窗口目前可见内容最左端之间距离 scrollTop:获取位于对象最顶端和窗口中可见内容最顶端之间距离 scrollWidth...:获取对象滚动宽度 用法:execute_script方法可以调用原生JavaScriptapi driver.execute_script(‘window.scrollTo(0,document.body.scrollHeight...);’) 案例: from selenium import webdriver import time driver = webdriver.Chrome() driver.get(‘http:/

3.1K20

Seleniumpython实现滚动操作多种方法

selenium里面也没有直接方法去控制滚动条,这时候只能借助J了,还好selenium提供了一个操作js方法:execute_script(),可以直接执行js脚本。...else: js = "var q=document.documentElement.scrollTop=0" return self.driver.execute_script...,正常手工操作时,可以通过tab键会切换到密码框中,所以根据此思路,在python中也可以发送tab键来切换,使元素显示 from selenium.webdriver.common.keys import...–scrollWidth 获取对象滚动宽度 #滚动到底部 js = "window.scrollTo(0,document.body.scrollHeight)" driver.execute_script...(js) #滚动到顶部 js = "window.scrollTo(0,0)" driver.execute_script(js) 其他: robotframe work框架中,selenium2library

5.9K21

python3 selenium + f

,最后决定用 python selenium 这个模块,它是程序打开本地浏览器进行操作,它里面有个方法execute_script('window.scrollTo(0, document.body.scrollHeight...三、 python 脚本读取fiddler日志,对最新url进行获取内容,提取id拼接成新新闻详情url 准备工作: 我这里用python3 先pip3 install selenium 安装模块...0,则表示无内容 if len(file_msg) == 0: return "continue" #读取数组内容最后一位,即为最新url url = file_msg[-1].strip("\n")...,若传入时间在数据内,则返回stop,停止,比如 只搜索 201904到现在,就传入201904即可,这里根据具体需求改改就行 search_result = re.search(search_time.../1") #循环操作浏览器往下翻页 while True: #翻页脚本 browser.execute_script('window.scrollTo(0, document.body.scrollHeight

97330

Python 网络爬虫技巧分享:优化 Selenium 滚动加载网易新闻策略

本文将分享如何利用 Python Selenium 库优化滚动加载网易新闻爬虫策略,以便更高效地获取所需信息。 思路分析 滚动加载是一种常见网页加载方式,特别是在一些新闻、社交媒体等网站上。...基本思路是模拟用户向下滚动页面,触发页面加载更多内容行为,然后通过 Selenium 提取所需信息。优化滚动加载策略主要包括滚动次数、滚动间隔、加载等待时间等方面的调整。...实现完整代码 下面是完整 Python 爬虫源码示例: from selenium import webdriver import time # 代理信息 proxyHost = "www.16yun.cn...技术细节 在上面的代码中,我们首先使用 Selenium Chrome 驱动器启动了一个 Chrome 浏览器,并打开了网易新闻页面。...然后,我们使用 execute_script() 方法执行 JavaScript 代码,将页面滚动到底部以触发滚动加载。通过循环执行这个过程,我们可以多次加载页面并获取更多新闻内容。

7810

Python 网络爬虫技巧分享:优化 Selenium 滚动加载网易新闻策略

本文将分享如何利用 Python Selenium 库优化滚动加载网易新闻爬虫策略,以便更高效地获取所需信息。思路分析滚动加载是一种常见网页加载方式,特别是在一些新闻、社交媒体等网站上。...基本思路是模拟用户向下滚动页面,触发页面加载更多内容行为,然后通过 Selenium 提取所需信息。优化滚动加载策略主要包括滚动次数、滚动间隔、加载等待时间等方面的调整。...实现完整代码下面是完整 Python 爬虫源码示例:from selenium import webdriverimport timechrome_options = webdriver.ChromeOptions...技术细节在上面的代码中,我们首先使用 Selenium Chrome 驱动器启动了一个 Chrome 浏览器,并打开了网易新闻页面。...然后,我们使用 execute_script() 方法执行 JavaScript 代码,将页面滚动到底部以触发滚动加载。通过循环执行这个过程,我们可以多次加载页面并获取更多新闻内容。

34210

技术分享 | web自动化测试-执行 JavaScript 脚本

当 webdriver 遇到无法完成操作时,可以使用 JavaScript 来完成,webdriver 提供了 execute_script() 方法来调用 js 代码。...执行 js 有两种场景: 在页面上直接执行 js 在某个已经定位元素上执行 js 执行js Selenium 可以通过 execute_script() 来执行 JavaScript 脚本。...与 Selenium 结合,在代码中返回 js 结果 Python 版本 # 获取网页性能响应时间,js脚本中使用return代表返回获取结果 js = "return JSON.stringify...(performance.timing);" driver.execute_script(js) Java 版本 // 获取网页性能响应时间,js脚本中使用return代表返回获取结果 String...实战演示 以企业微信为例,使用 js 点击添加图片 Python 代码 #导入依赖 from selenium import webdriver from selenium.webdriver.common.by

95630

Selenium Python使用技巧(三)

书接上文和上上文: Selenium Python使用技巧(一) Selenium Python使用技巧(二) 处理不同情况等待 在Selenium自动化测试中网页可能需要花费一些时间来加载,或者希望在触发测试代码之前可以看到页面上特定...driver.quit() 网页中滚动操作 在使用Selenium执行测试自动化时,您可能需要在页面上执行上滚/下滚操作要求。...您可以将execute_script()与window.scrollTo(JS)代码用作参数来实现相同效果。在下面的示例中,加载被测网站后,我们滚动到页面的末尾。...://www.***.com/") timeout = 10 ''' 滚动到页尾''' driver.execute_script("window.scrollTo(0, document.body.scrollHeight...);") sleep(10) ''' 滚动到页首''' driver.execute_script("window.scroll(0, 0);") sleep(10) driver.quit()

1.7K30

Selenium Python使用技巧(一)

想系统学习可以找一找Selenium WebDriver自动化跨浏览器测试教程,在此我们讨论Selenium基本功能及如何将该框架与流行编程语言(Python)一起使用。...如果存在IOError,则API返回False,否则返回True。仅当文件扩展名为.png时,这些API才有效,否则Python会引发错误并且保存内容可能无法查看。...将打开网页参数(JavaScript)作为参数传递给execute_script() from selenium import webdriver from selenium.webdriver.common.keys...您可以使用return关键字来获取JavaScript代码结果,如我们在解释JavaScript扩展示例中所示。...result = driver.execute_script("return 0") print(result) sleep(10) driver.close() 未完待续…… ---- 郑重声明

2.1K20

web自动化之selenium特殊用法汇总篇

(2)组合键使用 (4)常用组合键 (5)常用功能键 2、Python-Selenium:如何通过click在新标签页打开链接?...3、selenium 带有空格class name且不唯一元素定位 1、当前浏览器窗口截屏 2、生成网站长截图 3、特殊网页无法长截图,使用多图拼接技术 4、无头模式调整浏览器实际窗口大小 web...该方法将首先尝试返回具有给定名称属性值。 如果具有该名称属性不存在,则返回具有相同名称属性值。 如果没有这个名称属性,则返回' None '。...() 3、selenium 带有空格class name且不唯一元素定位 有些class属性中间有空格,如果直接复制过来定位是会报错InvalidSelectorException: Message...:param imgPath_2: 第二张图片路径, :param newImgPath: 拼接图片路径, :return: 无返回值 ''' # 获取当前文件夹中所有

2.4K30

​技术分享 | web自动化测试-执行 JavaScript 脚本

原文链接 在页面上直接执行 js 在某个已经定位元素上执行 js 执行js Selenium 可以通过 execute_script() 来执行 JavaScript 脚本。...] js返回结果 获取元素控件中属性值 [d4f3909f1c5554f33f6c622da50aff38a1429a59.png] 与 Selenium 结合,在代码中返回 js 结果 Python...版本 # 获取网页性能响应时间,js脚本中使用return代表返回获取结果 js = "return JSON.stringify(performance.timing);" driver.execute_script...(js) Java 版本 // 获取网页性能响应时间,js脚本中使用return代表返回获取结果 String js = "return JSON.stringify(performance.timing...例如:某个元素在实际操作过程中被其他元素遮挡,就可以使用 js 点击方式 Python 版本 element = driver.find_element(by, locator) #arguments

49730
领券