我正在尝试执行将内部 div 向下滚动到某个元素的代码。只有在以下情况下才有效:
Options().headless = False
但正如你们所知,这对整个事情的表现不利。
进行滚动的代码是:
element = driver1.find_element_by_xpath(reference)
driver1.execute_script("arguments[0].scrollIntoView();", element)
我怎么能做这样的事情,但无头等于 True?
我正在尝试执行将内部 div 向下滚动到某个元素的代码。只有在以下情况下才有效:
Options().headless = False
但正如你们所知,这对整个事情的表现不利。
进行滚动的代码是:
element = driver1.find_element_by_xpath(reference)
driver1.execute_script("arguments[0].scrollIntoView();", element)
我怎么能做这样的事情,但无头等于 True?
scrollIntoView()
必须以相同的方式工作,而与Options().headless = True
或无关Options().headless = False
。
但是,在使用无头模式时,您需要:
options = Options()
options.add_argument("--headless")
options.add_argument("window-size=1400,600")
另外诱导WebDriverWaitvisibility_of_element_located()
如下:
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)
您可以在以下位置找到相关的详细讨论: