使用selenium的click方法点击上传文件按钮后,后续的代码没有再执行怎么办

这是一个electron框架的应用程序,使用的是selenium来做web自动化,页面上有一个【上传文件】按钮,点击该按钮后,打开了系统文件夹弹窗,然后这个click方法后面的代码都没有执行,请问下是什么原因呢?有什么办法解决吗?

代码示例:

from time import sleep
from selenium import webdriver

options = webdriver.ChromeOptions()
options.binary_location = ‘xxxx’ #electron应用程序所在路径
driver = webdriver.Chrome(options=options)
sleep(5)
print(‘点击上传文件’)
driver.find_element(‘xpath’, ‘//*[@id=”app”]/div[2]/div/div/div/div[2]/div[2]/div[3]/div[3]/div’).click() # 点击上传文件按钮
print(‘点击上传文件后执行的代码’) # 这行代码没有被执行

网页源码截图如下:

使用selenium的click方法点击上传文件按钮后,后续的代码没有再执行怎么办

尝试使用:

1、尝试使用click方法点击,点击后打开系统文件夹弹窗,后续的代码没有执行,手动关闭系统文件夹弹窗后,后续的代码才会执行
2、尝试使用了send_keys直接输入文件路径的方式,结果运行会报错不运行操作
3、尝试使用鼠标事件ActionChains(driver).click(ele).perform()直接点击操作也是点击后后续代码没有执行
4、尝试使用javascript的dom对象点击也是可以点击,点击后后续的代码也没有执行

请问下有人知道这个是什么原因吗?该如何解决呢?如果不用click方法,有其他的方法可以直接实现上传多个文件的操作吗?

讨论数量: 7
Jason990420

Not working ?

from time import sleep
from selenium import webdriver

options = webdriver.ChromeOptions()
options.binary_location = r'C:\Program Files\Google\Chrome\Application\chrome.exe'
webdriver_path = r'D:\Python\Project\chromedriver.exe'
driver = webdriver.Chrome(executable_path=webdriver_path, options=options)
driver.get("https://image.online-convert.com/convert-to-jpg")

print ('Before')
element = driver.find_element('xpath', '//*[@class="uploadbox-wrapper"]//button')  # Choose File
print('Click')
element.click()
print ('After')
Before
Click
After
1年前 评论
xiaocaiji168 (楼主) 1年前
xiaocaiji168 (楼主) 1年前
Jason990420 (作者) 1年前
xiaocaiji168 (楼主) 1年前
Jason990420

Maybe you can refer this

stackoverflow.com/questions/538067...

1年前 评论
xiaocaiji168 (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!