Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.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-通过Windows上载文件_Python_Windows_Selenium_Selenium Webdriver - Fatal编程技术网

Selenium Python-通过Windows上载文件

Selenium Python-通过Windows上载文件,python,windows,selenium,selenium-webdriver,Python,Windows,Selenium,Selenium Webdriver,最后一项任务是将照片上传到网站 当我点击上传照片时,窗口会弹出,要求用户选择图片 我设法点击上传,窗口打开了 try: myElem = WebDriverWait(driver, delay).until(EC.presence_of_element_located((By.XPATH, '/html/body/div[1]/main/div[2]/div/div/div[2]/section[1]/div/div[2]/div/label/div/div[1]/div/div'))

最后一项任务是将照片上传到网站

当我点击上传照片时,窗口会弹出,要求用户选择图片

我设法点击上传,窗口打开了

try:
    myElem = WebDriverWait(driver, delay).until(EC.presence_of_element_located((By.XPATH, '/html/body/div[1]/main/div[2]/div/div/div[2]/section[1]/div/div[2]/div/label/div/div[1]/div/div'))) #.click(    
    myElem.click()
    myElem.SendKeys("path")
except TimeoutException:
    errorDuringFill = True
也试过和

我没能完成它

使用:

webdriver.Firefox() 
编辑HTML:

<div class="listing-editor__box-content">
   <input id="img-file-input" type="file" multiple="multiple" accept=".png, .jpg, .jpeg" class="listing-editor__input-img-files" aria-required="true" aria-invalid="false">
   <div class="btn btn--large btn--wide bg--dark-gray">
      <div class="d--fl jc--c ai--c">
         <i class="l-icon cloud m--r--2"></i>
         <div class="tc--white">UPLOAD PHOTOS</div>
      </div>
   </div>
   <div class="tc--lg">or drag them in</div>
</div>

上传照片
或者把他们拖进来

您需要使用
发送键将文件发送到
标记。不需要使用pywinauto。您可以按如下方式进行操作:

try:
    myElem = WebDriverWait(driver, delay).until(EC.presence_of_element_located((By.XPATH, '/html/body/div[1]/main/div[2]/div/div/div[2]/section[1]/div/div[2]/div/label/div/div[1]/div/div')))     
    myElem.click()
    driver.find_element_by_xpath('//input[@id='img-file-input']').SendKeys("filePath")
except TimeoutException:
    errorDuringFill = True

使用
ID
代替
absolutexpath

    myElem = WebDriverWait(driver, delay).until(EC.presence_of_element_located((By.ID, 'img-file-input')))    
    myElem.send_keys("path")

请分享上传的HTMLbutton@Muzzamil穆扎米尔补充道,还有一个问题。我可以像这样推送多张图片吗?@ProgramerName是的,通过多次调用此方法,我可以看到。我以为在发钥匙的时候放了一堆paths@ProgramerAnel啊哈,我需要检查它是否以某种方式使用sendkey或java中的JSK,它的工作方式类似于(“Path1\n path2”)。如果要检查,可以在python中尝试在文件路径之间使用\n。