使用Python Selenium向下滚动时两台计算机之间的差异
我使用两台电脑,一台台式机/一台笔记本,运行相同的代码,但得到不同的结果 chrome浏览器和chromedriver的版本完全相同 是什么导致了这种情况 我的代码:使用Python Selenium向下滚动时两台计算机之间的差异,python,selenium,selenium-chromedriver,Python,Selenium,Selenium Chromedriver,我使用两台电脑,一台台式机/一台笔记本,运行相同的代码,但得到不同的结果 chrome浏览器和chromedriver的版本完全相同 是什么导致了这种情况 我的代码: from selenium import webdriver import time driver = webdriver.Chrome('c:\chromedriver.exe') driver.get(url) # it's dynamic loading page new_height = 0 current_height
from selenium import webdriver
import time
driver = webdriver.Chrome('c:\chromedriver.exe')
driver.get(url) # it's dynamic loading page
new_height = 0
current_height = -1
while new_height != current_height:
current_height = driver.execute_script("return document.body.scrollHeight")
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(3)
new_height = driver.execute_script("return document.body.scrollHeight")
print(">> scrollTo:", current_height, new_height)
PC1的结果(桌面,chrome版本:90.0.4430.72(64位),python 3.8.8)
PC2的结果(笔记本电脑,chrome版本:90.0.4430.72(64位),python 3.8.8)
你想要达到的目标。。??为什么要向下滚动…?可能是不同的屏幕分辨率。您可以为浏览器窗口设置特定的大小,(在启动驱动程序后立即设置driver.manage().window()…这可能会使结果更加相似。这是因为您的屏幕分辨率和网站中的内容正在动态加载。您必须滚动页面以查看元素,然后获取数据。请使用驱动程序。设置窗口大小(1920、1080),然后再次运行相同的代码,这样就可以了。谢谢:D
C:\JetBrains\Projects\scrollTest\venv\Scripts\python.exe C:/JetBrains/Projects/scrollTest/main.py
>> scrollTo: 4521 6382
>> scrollTo: 6382 8308
>> scrollTo: 8308 10233
>> scrollTo: 10233 12111
>> scrollTo: 12111 14005
>> scrollTo: 14005 15914
>> scrollTo: 15914 17777
>> scrollTo: 17777 17963
>> scrollTo: 17963 17963
Process finished with exit code 0
C:\JetBrains\PycharmProjects\scrollTest\venv\Scripts\python.exe C:/JetBrains/PycharmProjects/scrollTest/main.py
>> scrollTo: 2659 18134
>> scrollTo: 18134 18134
Process finished with exit code 0