2016-06-26 6 views
1

私はセレンを使用していて、図表のポップアップdiv内をスクロールしようとしています。セレンの中でスクロールする

https://www.instagram.com/kimkardashian/」のようなページが表示され、フォロワーをクリックすると、フォロワーリストがスクロールダウンできなくなります。

私は、ホバー、click_and_hold、およびその他のいくつかのトリックを使用してdivを選択しようとしましたが、どれもうまくいきませんでした。

これを選択するにはどうすればよいでしょうか?

これは私がこれまで試したものです:

driver.find_elements_by_xpath("//*[contains(text(), 'followers')]")[0].click() 
element_to_hover_over = driver.find_elements_by_xpath("//*[contains(text(), 'Follow')]")[12] 
hover = ActionChains(webdriver).move_to_element(element_to_hover_over) 
hover.click_and_hold() 
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") 
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") 
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") 

答えて

0

あなたはdiv要素に関数を実行するためにjQueryを使用する必要があります。ここで私はそれをやろうと思った方法です。 jQueryで解決してスクリプトを実行する方が、apiで処理するよりも簡単でした。

height = 2000 
query = 'jQuery("div").filter((i, div) => jQuery(div).css("overflow-y") == "scroll")[0].scrollTop = %s' %height 
driver.execute_script(query) 
0

正確なコードは次のとおりです。あなたは最初の信者の名前を含む新しいインラインフレームを見つけなければならない:

scr1 = driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div/div[2]') 
driver.execute_script("arguments[0].scrollTop = arguments[0].scrollHeight", scr1) 

これは、自動的にページをスクロールダウンしますが、それはページの最後に到達するまで、あなたはそれのためのループのために作るています。私のInstagramクローラーhereを見ることができます。

関連する問題