【问题标题】:How to input extracted data from excel into a website using python?如何使用python将从excel中提取的数据输入到网站中?
【发布时间】:2020-07-13 20:56:16
【问题描述】:

任务:自动拉出特定网站,导航到库存模块,在库存输入SKU,每盒数量,盒子数量后,点击进入,打印标签。

我已经到了可以使用 selenium webdriver 浏览网站并进入我的库存菜单的地步。

此外,我使用 pandas 将数据从 excel 提取到 python 中。

但是,我无法理解如何将提取的数据输入到正确的数据字段中。

导航字段不是问题。 Input 提取的数据是我的问题。我使用actionkeyssendkeys 工具输入密码、用户名、点击标签等。

但是,我如何告诉 python 从提取的 excel 中发送一个数据单元而不在 sendkeys 语句中输入它。我必须创建一个变量吗?如果是这样,我可以查找任何链接或参考资料吗?

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from pynput.keyboard import Key, Controller
import time 
import pandas as pd

#Importing Excel data into the terminal for WIP Labels
wips = pd.read_excel('/Users/juliobermudez/desktop/WipExample.xlsx', sheet_name='Sheet1')
sku = wips[0:1, 1]
print(sku)

#Are these elements? I don't know.
browser = webdriver.Chrome('/Users/juliobermudez/desktop/WIP/chromedriver')
keyboard = Controller ()

#Pull up the Plex Website
browser.get(insert website here)

#Log in into Plex using username and passoword
username = browser.find_element_by_id('txtUserID')
username.send_keys('username')
password = browser.find_element_by_id('txtPassword')
password.send_keys('password')
company = browser.find_element_by_id('txtCompanyCode')
company.send_keys('company name')
elem = browser.find_element_by_id('btnLogin')
elem.click()

#Wait 3 Secs
time.sleep(3)

#Navigate to the Add Inventory Module
keyboard.press('2')
keyboard.release('2')
time.sleep(1)
keyboard.press('1')
keyboard.release('1')
time.sleep(1)
keyboard.press('5')
keyboard.release('5')

#Begin the Automation of WIPs !
time.sleep(3)
keyboard.press(Key.tab)
keyboard.release(Key.tab)

【问题讨论】:

标签: python excel pandas selenium automation


【解决方案1】:

您应该能够通过 sendkeys 方法传递对数据框单元格的引用。看起来 SKU 是 2 行 1 列?

object.send_keys(sku.iat[0,1])

df.iat 允许您通过索引获取单元格的确切内容

【讨论】:

  • 在“对象”上方的代码中,必须等于要输入数据的特定 Web 元素,对吗?问题是我将使用的网站不允许我检查,它被管理员阻止了。感谢您点击 df.iat 命令。我现在使用的是使用键盘控制器导航到我需要输入数据的特定字段。我想我会使用控制器并利用keyboard.type命令进入sku.iat?
  • 是的,对象是您要定位的元素。我不知道Pynput。因此,当您尝试使用keyboard.press() 时,您可能需要设置一个for 循环才能输入单元格的内容。再说一次,我不知道 pynput 是否支持传递整个字符串,还是一次一个字符
猜你喜欢
  • 2020-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-23
  • 1970-01-01
  • 2017-06-28
  • 1970-01-01
相关资源
最近更新 更多