2017-07-29 15 views
1

Facebookのグループに自動コメントを付けるセレンスクリプトを開発しました。 これは比較的うまく動作しますが、ターゲット要素がブラウザに表示されない場合はclick()メソッドを実行しません。 私はexecute_script("window.scrollTo(x,y";)メソッドを使用していますが、理想的なスクリプトではありません。 click()を実行するために取得していない場合、それは一番下にしようと、ページの上部にある要素のSelenium - Python:find_element *メソッドで見つかった要素にスクロール

text_box = driver.find_element_by_class_name("UFIAddCommentInput")        
try: 
    driver.execute_script("window.scrollTo(100, 0);") 
    text_box.click() 
except: 
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") 
    text_box.click() 
element = driver.switch_to.active_element 
element.send_keys(frase) 
element.send_keys(Keys.RETURN) 

これは、最初に試み、そして:改善されなければならないコードの一部は以下の通りです。 しかし、find_element_by_class_nameメソッドで見つかった要素をスクロールするより効果的な方法がありますか?

答えて

1

あなたは右の必要な要素にページをスクロールダウンし、

+0

それをクリックする

text_box.location_once_scrolled_into_view text_box.click() 

を試すことができますあなたのソリューションで、それは完璧に働いているようです。 –

関連する問題