在网络浏览器上上传Python

时间:2019-04-27 05:12:27

标签: python python-3.x selenium python-webbrowser

我正在编写一个脚本,该脚本会将文件从本地计算机上传到网页。这是URL:https://tutorshelping.com/bulkask,并且有一个上传选项。但是我不懂如何上传它。

我当前的脚本:

import webbrowser, os

def fileUploader(dirname):
    mydir = os.getcwd() + dirname
    filelist = os.listdir(mydir)
    for file in filelist:
        filepath = mydir + file #This is the file absolte file path
        print(filepath)

    url = "https://tutorshelping.com/bulkask"
    webbrowser.open_new(url)  # open in default browser
    webbrowser.get('firefox').open_new_tab(url)


if __name__ == '__main__':
    dirname = '/testdir'
    fileUploader(dirname)

2 个答案:

答案 0 :(得分:0)

除了打开具有特定网址的浏览器/标签外,我认为Python Webbrowser软件包不能做任何其他事情。

如果我很好地理解了您的问题,那么您想打开页面,将文件设置为上载,然后模拟按钮单击。您可以为此尝试pyppeteer

免责声明:我从未使用过Python版本,只使用过JS版本(伪造者)。

答案 1 :(得分:0)

一种快速的解决方案是使用诸如AppRobotic个人宏软件之类的东西直接与Windows弹出窗口和应用程序进行交互,或者仅使用X,Y坐标移动鼠标,单击按钮,然后发送键盘键来键入或浏览文件。

经过调整后,这样的操作会起作用,这样它就可以在您准备好单击“上传”按钮并浏览文件时运行:

import win32com.client
x = win32com.client.Dispatch("AppRobotic.API")
import webbrowser

# specify URL
url = "https://www.google.com"

# open with default browser
webbrowser.open_new(url) 

# wait a bit for page to open
x.Wait(3000)
# use UI Item Explorer to find the X,Y coordinates of Search box
x.MoveCursor(438, 435)
# click inside Search box
x.MouseLeftClick

x.Type("AppRobotic")
x.Type("{ENTER}")