Python 通过阿里巴巴搜索栏中的Selenium上传图像
我正试图通过发送密钥上传图片,用于www.alibaba.com图片搜索。我想在无头浏览器中执行此操作,因此,Autoit方法将不起作用 上载按钮可单击,但允许获取发送密钥数据Python 通过阿里巴巴搜索栏中的Selenium上传图像,python,selenium,file-upload,Python,Selenium,File Upload,我正试图通过发送密钥上传图片,用于www.alibaba.com图片搜索。我想在无头浏览器中执行此操作,因此,Autoit方法将不起作用 上载按钮可单击,但允许获取发送密钥数据 url = 'https://www.alibaba.com/' browser = webdriver.Chrome() browser.implicitly_wait(20) # seconds browser.get(url) element = browser.find_
url = 'https://www.alibaba.com/'
browser = webdriver.Chrome()
browser.implicitly_wait(20) # seconds
browser.get(url)
element = browser.find_element_by_class_name("ui-searchbar-imgsearch-icon")
element.click()
element2 = browser.find_element_by_class_name("upload-btn")
path = "filepath"
element2.send_keys(path)
我收到消息elementnotinteractiableexception
有没有其他方法可以在不打开文件系统弹出窗口的情况下上传图像 您需要使用
type='file'
元素,而不是Upload Image
按钮,将按键发送到input
。输入
也是隐藏的,因此您需要执行Javascript来显示它,然后才能发送密钥:
url = 'https://www.alibaba.com/'
browser = webdriver.Chrome()
browser.implicitly_wait(20) # seconds
browser.get(url)
element = browser.find_element_by_class_name("ui-searchbar-imgsearch-icon")
element.click()
input = browser.find_element_by_xpath("//input[@type='file']")
# reveal the input element
browser.execute_script("arguments[0].style.display = 'block';", input)
# send keys for file path to input element
input.send_keys(path)
您不能使用selenium上载图像,请使用sikuli with selenium上载图像。(链接)这是错误的,您可以使用Selenium上传图像^@MuaazTariq很高兴听到这个答案——如果这个答案有帮助,请随意标记为您问题的解决方案,以便其他用户可以看到它对您有效。