【问题标题】:Selenium Multiple File Upload + PythonSelenium 多文件上传 + Python
【发布时间】:2021-01-05 10:41:07
【问题描述】:

我正在使用以下代码进行多张图片上传:

import selenium
import time
import selenium.common.exceptions
import os
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.alert import Alert
from selenium.webdriver.common.action_chains import ActionChains

#provie file path for Chromedriver
chromedriver = "C:/Users/chromedriver_win32/chromedriver"
driver = webdriver.Chrome(chromedriver)
driver.get("https://url.com")

#log in to the website
driver.find_element_by_id('ctrlLogin_UserName').send_keys("xyz.com")
driver.find_element_by_id('ctrlLogin_Password').send_keys("abc@01")
driver.find_element_by_id('ctrlLogin_LoginButton').click()

#give some time for all objects to load
time.sleep(5)
driver.maximize_window()

#click open Reports tab
driver.find_element_by_xpath('full XPath').click()

#navigate to New Reports
driver.switch_to.frame("hostFrame")
driver.find_element_by_xpath('full XPath').click()

#give some time for all Reports to load
time.sleep(5)
driver.switch_to.default_content()

#Open Report folder
time.sleep(5)
driver.switch_to.frame("hostFrame")
driver.find_element_by_xpath('full XPath').click()

time.sleep(5)
driver.execute_script("window.scrollTo(0, 600);")
driver.find_element_by_xpath('full XPath').click()

time.sleep(2)

driver.find_element_by_xpath('full XPath').click()

uploader = driver.find_element_by_xpath('full XPath')
uploader.send_keys("C:/Users/blabla.jpg")

我收到一个错误: 引发异常类(消息、屏幕、堆栈跟踪) selenium.common.exceptions.ElementNotInteractableException:消息:元素不可交互 (会话信息:chrome=87.0.4280.88)

我尝试添加等待,但也没有用。有人可以分享任何想法吗?

【问题讨论】:

  • 在帖子本身中提供元素的 HTML 代码。 html代码截图不要加,没人给你写。

标签: python selenium selenium-webdriver selenium-chromedriver


【解决方案1】:

该元素无法与之交互,因为它不可见或其他元素显示在它上面。 仔细检查它是否处于可以与之交互且可见的状态,并且您有正确的定位器。 尝试改变

uploader.send_keys("C:\\Users\\blabla.jpg")

和:

scro=driver.find_element_by_xpath('full XPath')
scro.location_once_scrolled_into_view
scro.click()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-08
    • 1970-01-01
    • 2014-07-20
    • 2017-10-02
    • 1970-01-01
    • 2012-01-15
    • 2021-12-10
    • 1970-01-01
    相关资源
    最近更新 更多