Python Selenium'move_by_offset'不';行不通
使用Python Selenium调用简单的滚动动作不起作用:Python Selenium'move_by_offset'不';行不通,python,selenium,selenium-webdriver,selenium-chromedriver,Python,Selenium,Selenium Webdriver,Selenium Chromedriver,使用Python Selenium调用简单的滚动动作不起作用: driver = webdriver.Chrome() driver.get('https://www.wikipedia.org/') time.sleep(2) actions = ActionChains(driver) actions.move_by_offset(500, 500).perform() 例如,具有移动到元素的功能,工作确定并执行滚动: driver = webdriver.Chrome() driver.
driver = webdriver.Chrome()
driver.get('https://www.wikipedia.org/')
time.sleep(2)
actions = ActionChains(driver)
actions.move_by_offset(500, 500).perform()
例如,具有移动到元素的功能,工作确定并执行滚动:
driver = webdriver.Chrome()
driver.get('https://www.wikipedia.org/')
time.sleep(2)
element = driver.find_element_by_css_selector(<Something>)
actions = ActionChains(driver)
actions.move_to_element(element).perform()
driver=webdriver.Chrome()
司机,上车https://www.wikipedia.org/')
时间。睡眠(2)
element=driver.find_element_by_css_selector()
动作=动作链(驱动程序)
动作。将元素移动到元素(元素)。执行()
调用移动到具有偏移量的元素时,再次无效:
driver = webdriver.Chrome()
driver.get('https://www.wikipedia.org/')
time.sleep(2)
element = driver.find_element_by_css_selector(<Something>)
actions = ActionChains(driver)
actions.move_to_element_with_offset(element, 500, 500).perform()
driver=webdriver.Chrome()
司机,上车https://www.wikipedia.org/')
时间。睡眠(2)
element=driver.find_element_by_css_selector()
动作=动作链(驱动程序)
动作。使用偏移量(元素,500500)将元素移动到元素。执行()
有什么原因吗 似乎
move_by_offset
无法滚动页面,但它仍然可以将鼠标移动到距当前鼠标位置的偏移位置
为了确认,我们可以尝试这样做:
driver = webdriver.Chrome()
driver.get('https://www.wikipedia.org/')
actions = ActionChains(driver)
actions.move_by_offset(300, 500).context_click().perform()
要按偏移量滚动页面,必须使用js:
driver = webdriver.Chrome()
driver.get('https://www.wikipedia.org/')
driver.execute_script('window.scrollBy(0, 500)') # x=0, y=500
移动鼠标后,请尝试等待几秒钟。例如,下面在我的CentOS7.3主机中获取屏幕截图的代码适用于我
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument("--window-size=720,480")
chrome_options.add_argument('--no-sandbox')
driver = webdriver.Chrome('/usr/bin/chromedriver', chrome_options=chrome_options, service_args=['--verbose', '--log-path=/tmp/chromedriver.log'])
driver.get(url)
time.sleep(6)
ActionChains(driver).move_by_offset(50, 50).perform()
time.sleep(2)
filename="/tmp/Screenshots/uuid.png"
driver.save_screenshot(filename)
移动
鼠标
,我想就像网页上的用户指针,但不是普通的鼠标。我认为这里遗漏了一些东西,因为我们为什么需要这种方法?例如,move\u to\u element(to\u element)[source]
进行滚动,但是从文档中您会发现将鼠标移动到元素的中间。