Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我如何执行一个";scrollIntoView();如果webdriver的headless等于True,则函数?_Javascript_Python_Selenium_Selenium Webdriver_Js Scrollintoview_Headless - Fatal编程技术网

Javascript 我如何执行一个";scrollIntoView();如果webdriver的headless等于True,则函数?

Javascript 我如何执行一个";scrollIntoView();如果webdriver的headless等于True,则函数?,javascript,python,selenium,selenium-webdriver,js-scrollintoview,headless,Javascript,Python,Selenium,Selenium Webdriver,Js Scrollintoview,Headless,我试图执行一段代码,将内部div向下滚动到某个元素。如果: Options().headless = False 但你们都知道,这对整个事情的表现不好 执行滚动的代码是: element = driver1.find_element_by_xpath(reference) driver1.execute_script("arguments[0].scrollIntoView();", element) 如果headless等于True,我怎么能做这样的事情呢?无论Opti

我试图执行一段代码,将内部div向下滚动到某个元素。如果:

Options().headless = False
但你们都知道,这对整个事情的表现不好

执行滚动的代码是:

element = driver1.find_element_by_xpath(reference)
driver1.execute_script("arguments[0].scrollIntoView();", element)
如果headless等于True,我怎么能做这样的事情呢?

无论
Options()。headless=True
Options()。headless=False

但是,在使用模式时,您需要:

  • 此外,还包括以下内容:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
    element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "reference")))
    driver.execute_script("arguments[0].scrollIntoView();", element)
    

工具书类 有关详细讨论,请参见:


它应该完全相同。您是否尝试过面对任何问题?是的,我尝试在两种情况下运行代码,当headless等于True时,会发生错误。错误消息是什么?@gusta很高兴能够帮助您。如果这个/任何答案对你有帮助,对未来的读者有好处。
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

element = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "reference")))
driver.execute_script("arguments[0].scrollIntoView();", element)