Free shipping over $40
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
1 / 13
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
Multifunctional Rotary Faucet Robot Arm Faucet Extender
40% OFF
Save $10.00
Delis666

Multifunctional Rotary Faucet Robot Arm Faucet Extender

$14.99 $24.99
2 sold
Specification
Quantity
Qty

MAIN FEATURES

  • 1080° Full Rotating -- There are 3 interfaces that can be adjusted 360 degrees in all directions. Robotic arm water nozzle faucet adaptor splash filter kitchen tap extend, can reach every corner of the sink for easy cleaning.

          

  • 2 Water Outlet Modes Design -- The faucet aerator has soft bubble stream and strong sprayer shower, twist the aerator change the water dispensing method.

         

  • Superior Raw Material -- Using high-quality materials with good copper and stainless steel, it is not easy to rust but safe and durable making it last for the years to come. The chrome finished surface is well polished and electroplated, bright and shiny after a long use. 
  • Easy to Install and Use -- Directly installed by hand without tools,done in seconds. If your faucet features female thread, please use the adapter before installation.

           

  • Multi-Purpose -- For kitchen faucet, it is helpful for children to clean their hands and fruits and vegetables; for bathroom sink, you can wash your hair and face more easily. At the same time, the faucet adapter can be more convenient to clean the sink.

          

Specification

  • Material: copper and stainless steel
  • Weight: Robotic arm-single-mode water outlet: 180g; Robotic arm - dual-mode water outlet: 200g

Shipping:

  • Free shipping on orders over $30.
  • Orders will be processed within 7 business days of placing the order and shipped the day after the processing date. Orders are usually delivered within 7 to 14 business days.

Returns: Fast money back on any dissatisfaction within 15 days, 100% money back guarantee.

Notes:

  • Due to manual measurement, please allow slight measurement deviation.
  • Due to different display and lighting effects, the actual color of the item may be slightly different from the color shown on the picture.
/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1711005325228').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);