如何使用Selenium和Python在隐藏元素中上载图像
我正在尝试上载按钮内的图片,但不断出现以下错误:如何使用Selenium和Python在隐藏元素中上载图像,python,selenium,image-uploading,hidden-field,invisible-recaptcha,recaptcha,Python,Selenium,Image Uploading,Hidden Field,Invisible Recaptcha,Recaptcha,我正在尝试上载按钮内的图片,但不断出现以下错误: selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable (Session info: chrome=79.0.3945.130) 这是我的密码 from selenium import webdriver from selenium.webdriver.common.keys import Keys from se
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
(Session info: chrome=79.0.3945.130)
这是我的密码
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
import time
import os
driver = webdriver.Chrome()
driver.get("https://easypdf.com/fr/convertir-ocr")
driver.maximize_window()
time.sleep(10)
driver.find_element_by_xpath('//*[@id="social"]/div/div[1]').click()
uploadPhotoBtn = driver.find_element_by_xpath('//*[@id="dzupload"]/div')
driver.execute_script('arguments[0].style = ""; arguments[0].style.display = "block"; arguments[0].style.visibility = "visible";', uploadPhotoBtn)
uploadPhotoBtn.send_keys("C:\\Users\\basma\\Desktop\\python\\toImg\\jpg0.jpg")
要使用上载图像在网站内进行转换,您需要:
- 找到必须调用
发送密钥()的
标记 - 将
属性的值从type
更改为hidden
text
- 调用
发送密钥()
- 代码块:
from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument("start-maximized") options.add_experimental_option("excludeSwitches", ["enable-automation"]) options.add_experimental_option('useAutomationExtension', False) driver = webdriver.Chrome(options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe') driver.get("https://easypdf.com/fr/convertir-ocr") element = driver.find_element_by_xpath("//input[@id='tool-name']") driver.execute_script("document.getElementById('tool-name').setAttribute('type','text')") element.click() element.clear() element.send_keys(r'C:\Users\Debanjan.B\Desktop\screenshots\31_07_2019.png')
driver.get("https://easypdf.com/fr/convertir-ocr") element = driver.find_element_by_xpath("//input[@id='tool-name']") driver.execute_script("document.getElementById('tool-name').setAttribute('type','text')") element.click() element.clear() element.send_keys(r'C:\Users\Debanjan.B\Desktop\screenshots\31_07_2019.png') driver.find_element_by_xpath("//button[@id='btnUpload']").click()
- 浏览器快照:
更新 上载图像文件进行进一步处理会有点困难,因为网页受保护
要在网站内使用上载图像进行转换,您需要:
- 找到必须调用
发送密钥()的
标记 - 将
属性的值从type
更改为hidden
text
- 调用
发送密钥()
- 代码块:
from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument("start-maximized") options.add_experimental_option("excludeSwitches", ["enable-automation"]) options.add_experimental_option('useAutomationExtension', False) driver = webdriver.Chrome(options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe') driver.get("https://easypdf.com/fr/convertir-ocr") element = driver.find_element_by_xpath("//input[@id='tool-name']") driver.execute_script("document.getElementById('tool-name').setAttribute('type','text')") element.click() element.clear() element.send_keys(r'C:\Users\Debanjan.B\Desktop\screenshots\31_07_2019.png')
driver.get("https://easypdf.com/fr/convertir-ocr") element = driver.find_element_by_xpath("//input[@id='tool-name']") driver.execute_script("document.getElementById('tool-name').setAttribute('type','text')") element.click() element.clear() element.send_keys(r'C:\Users\Debanjan.B\Desktop\screenshots\31_07_2019.png') driver.find_element_by_xpath("//button[@id='btnUpload']").click()
- 浏览器快照:
更新 上载图像文件进行进一步处理会有点困难,因为网页受保护
谢谢@DebanjanB的回答,它正在工作,但在这种情况下,我们只上传文本,我需要上传图像才能转换,你能帮我吗?@Rara Of Gross Stackoverflow撰稿人在这里帮助你。请随意提出一个新的问题和你的新要求。我仍然无法上传图像,我只能上传图像的名称,当我试图转换它时,它说没有选择任何文件,我不知道如何修复,请帮助我please@Lara你看到什么错误了吗?你能用你面临的错误提出一个新问题吗?@Lara检查答案更新并让我知道状态谢谢@DebanjanB的回答,它正在工作,但在这种情况下,我们只上传文本,我需要上传图像以转换它,你能帮我一下吗?@Lara的投稿人来帮你。请随意提出一个新的问题和你的新要求。我仍然无法上传图像,我只能上传图像的名称,当我试图转换它时,它说没有选择任何文件,我不知道如何修复,请帮助我please@Lara你看到什么错误了吗?你能用你面临的错误提出一个新问题吗?@Lara检查答案更新并告诉我状态