Selenium - Python:滚动到find_element *方法找到的元素

时间:2017-07-29 12:50:54

标签: python selenium

我开发了一个selenium脚本,它在facebook组中进行自动注释。 它工作得相对较好,但如果目标元素在浏览器上不可见,则它不会执行click()方法。 作为解决方法,我正在使用execute_script("window.scrollTo(x,y";)方法,但它不是理想的脚本。必须改进的代码如下:

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)

它首先尝试页面顶部的元素,如果没有执行click(),它会尝试在底部。 但是,有一种更有效的方法来滚动find_element_by_class_name方法找到的元素?

1 个答案:

答案 0 :(得分:2)

你可以尝试

text_box.location_once_scrolled_into_view
text_box.click()

向右滚动页面到所需元素并单击