我正在使用一个试用网站案例来学习使用 Python Selenium 上传文件,其中上传窗口不是 HTML 的一部分。上传窗口是系统级更新。这已经使用 JAVA 解决了(下面的 stackoverflow 链接)。如果这无法通过 Python 实现,那么我打算转而使用 JAVA 来完成这项任务。
但,
亲爱的所有 Python 爱好者,为什么不能使用 Python webdriver-Selenium。因此这个追求。
在 JAVA 中解决 URL:http ://www.zamzar.com/ stackoverflow 中的解决方案(和 JAVA 代码):如何使用 Selenium WebDriver 处理 windows 文件上传?
这是我的 Python 代码,应该是不言自明的,包括 chrome webdriver 下载链接。
任务(上传文件)我正在尝试:网站:https : //www.wordtopdf.com/
Note_1:我不需要这个工具来做任何工作,因为有更好的包来做这个 word 到 pdf 的转换。相反,这仅用于学习和完善 Python Selenium 代码/应用程序。
Note_2:下载并解压 chrome 驱动程序后,您将不得不在下面的代码中煞费苦心地输入 2 个路径(下面的评论中的链接)。这 2 个路径是:[a] a(/any) word 文件的路径和 [b] 解压缩的 chrome 驱动程序的路径。
我的代码:
from selenium import webdriver
UNZIPPED_DRIVER_PATH = 'C:/Users/....' # You need to specify this on your computer
driver = webdriver.Chrome(executable_path = UNZIPPED_DRIVER_PATH)
# Driver download links below (check which version of chrome you are using if you don't know it beforehand):
# Chrome Driver 74 Download: https://chromedriver.storage.googleapis.com/index.html?path=74.0.3729.6/
# Chrome Driver 73 Download: https://chromedriver.storage.googleapis.com/index.html?path=73.0.3683.68/
New_Trial_URL = 'https://www.wordtopdf.com/'
driver.get(New_Trial_URL)
time.sleep(np.random.uniform(4.5, 5.5, size = 1)) # Time to load the page in peace
Find_upload = driver.find_element_by_xpath('//*[@id="file-uploader"]')
WORD_FILE_PATH = 'C:/Users/..../some_word_file.docx' # You need to specify this on your computer
Find_upload.send_keys(WORD_FILE_PATH) # Not working, no action happens here
基于 JAVA 中非常相似的东西(How to handle windows file upload using Selenium WebDriver?),这应该很有魅力。但是瞧……完全失败,因此有机会学习新东西。
我也试过:
Click_Alert = Find_upload.click()
Click_Alert(driver).send_keys(WORD_FILE_PATH)
不工作。“警报”应该是按照这两个链接的内置功能(https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.alert.html & Selenium-Python:与系统交互模态对话框)。
但是即使在执行后,上面链接中的“警报”功能似乎也不存在于我的 Python 设置中
from selenium import webdriver
@所有读者,希望这不会占用您太多时间,我们都可以从中学到一些东西。
MMMHUHU
相关分类