PythonおよびSeleniumを使用すると、Webページの上部へのスクロールで問題が発生します。
何らかの理由でページが読み込まれると、ページの下部に移動します(これは修正される予定です)。ただし、一番上までスクロールしようとしても機能しません。
私は次を試しました:
self.driver.execute_script("scroll(0, -250);")
そして
self.driver.execute_script("scroll(0, 0);")
また、要素を見つけてスクロールしました:
self.driver.execute_script("arguments[0].scrollIntoView()", element)
上記のscrollIntoView()コードは、要素までスクロールダウンするときに機能します。ただし、上にスクロールしても機能しません。
私はこれを実行してみましたChrome Driver and PhantomJs。
助言がありますか?
最初にHTML DOM
で要素を見つけることを検討できます。次に、scroll
で要素を Viewport
次のとおり:
element = driver.find_element_by_xpath("element_xpath")
self.driver.execute_script("return arguments[0].scrollIntoView(true);", element)
単にCtrl + Homeキーを使用できます。ページの上部までスクロールします。
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.HOME)
これを試してください:
driver.execute_script("document.querySelector('div[role=dialog] ul').parentNode.scrollTop=1e100")
selenium import webdriverから
t=10
while t:
#if you want to scroll to the end of the page,use this
driver.execute_script("window.scrollTo(0,document.body.scrollHeight);")
sleep(3)
#if you want to scroll down upto some level use this, here i used "1000" you may vary
#it according to your use
driver.execute_script("scrollBy(0,+1000);")
sleep(3)
#if you want to scroll some level up, use this,again i used here "-500" you may vary
#according to your use
driver.execute_script("scrollBy(0,-500);")
sleep(3)
t=t-1 # it`s a part of the loop
これはきっとあなたを助けます:)
from Selenium import webdriver
from Selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("__")
#to scroll try use the following command
driver.execute_script("scrollBy(0,250);")
それが動作します !!