Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Selenium和Python在隐藏元素中上载图像_Python_Selenium_Image Uploading_Hidden Field_Invisible Recaptcha_Recaptcha - Fatal编程技术网

如何使用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检查答案更新并告诉我状态