我刮使用Selenium去年1年鸣叫,但它不能滚动页面超过一个点,指向“返回顶部”。我如何使用Selenium克服这个问题?
这里是我的代码 -
driver=webdriver.Firefox(executable_path="/home/piyush/geckodriver")
url="https://twitter.com/narendramodi"
driver.get(url)
time.sleep(6)
lastHeight = driver.execute_script("return document.body.scrollHeight")
while True:
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(6)
newHeight = driver.execute_script("return document.body.scrollHeight")
if newHeight == lastHeight:
break
lastHeight = newHeight
这里是输出作为图像
您可以使用类似于下面的东西。尝试用一些超时等待,直到“返回顶部”消失后再继续报废。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Firefox()
driver.get("http://somedomain/url_that_delays_loading")
try:
disappeared = WebDriverWait(driver, 10).until(
lambda x: not EC.visibility_of_element_located((By.ID, "myDynamicElement"))
)
if disappeared:
print('Continue')
finally:
driver.quit()