Python selenium スクロール 要素取得など


selenium スクロール基本


driver.execute_script("window.scrollTo(0,移動させたい分の数字を記入);")


要素がユーザーにみえるところまでスクロール


これが一番使うかも

element = 表示させたい要素
driver.execute_script("arguments[0].scrollIntoView(true);", element);




seleniumを使ってすこしずつスクロールをする方法


def scroll(self,speed):
	#高さを取得
	height = self.browser.execute_script("return document.body.scrollHeight")
	#ループで回す
	for i in range(1,height,speed):
		self.browser.execute_script("window.scrollTo(0,"+str(i)+");")


半分づつスクロール


def scroll(self,driver):
	height = driver.execute_script("return document.body.scrollHeight")
	#半分の長さにする
	height = height//2
	#ループ処理
	for i in range(1,height):
		driver.execute_script("window.scrollTo(0,"+str(i)+");")



ある要素までスクロールしたいとき


from selenium.webdriver.common.action_chains import ActionChains

element = driver.findelementby_id("ID")
actions = ActionChains(driver)
actions.movetoelement(element)
actions.perform()



要素にスクロールする


element.locationoncescrolled_into_view


ブラウザのウインドを最大化


driver.maximize_window()


要素が表示されているか判定するには


element.is_displayed()


要素が有効になっているか判定するには


element.is_enabled()