【发布时间】:2020-07-07 20:47:21
【问题描述】:
我试图让这个脚本在将数据插入输入字段后发送一个制表键输入。 原因是下一组数据将被输入到下一行。
我尝试使用 send_key 方法将选项卡按钮事件发送到浏览器,但出现错误。根据此代码示例,是否有正确的方法来调用选项卡键盘输入?
from selenium.webdriver.common.keys import Keys
def GetQuote():
for i in range(len(orders)):
#description
driver.find_element(By.XPATH, "/html[1]/body[1]/app-root[1]/div[1]/div[1]/app-record[1]/div[1]/div[2]/div[1]/app-record-quoting[1]/div[1]/app-record-product-list-panel[1]/form[1]/div[3]/div[1]/div[1]/div[1]/input[1]").send_keys(orders[i]['description'])
#dropdown menu for Handling Unit
select_element = Select(driver.find_element_by_xpath('/html[1]/body[1]/app-root[1]/div[1]/div[1]/app-record[1]/div[1]/div[2]/div[1]/app-record-quoting[1]/div[1]/app-record-product-list-panel[1]/form[1]/div[3]/div[1]/div[3]/div[1]/select[1]'))
select_element.select_by_value('1')
driver.implicitly_wait(1)
driver.find_element(By.CSS_SELECTOR, "input[formControlName=handlingQty]").send_keys(orders[i]['handling unit'])
driver.find_element(By.CSS_SELECTOR, "input[formControlName=packageQty]").send_keys(orders[i]['pieces'])
driver.find_element(By.CSS_SELECTOR, "input[formControlName=length]").send_keys(orders[i]['length'])
driver.find_element(By.CSS_SELECTOR, "input[formControlName=width]").send_keys(orders[i]['width'])
driver.implicitly_wait(1)
driver.find_element(By.CSS_SELECTOR, "input[formControlName=height]").send_keys(orders[i]['height'])
element=driver.find_element(By.CSS_SELECTOR,"input[formControlName=weight]")
element.send_keys(orders[i]['weight'])
driver.implicitly_wait(1)
if i < len(orders):
element.send_keys(Keys.TAB);
driver.find_element(By.XPATH, "//button[@class='btn-filled clickable']").click() #generate quote button
【问题讨论】:
-
你得到什么错误?
-
我更新了上面的问题。
标签: python-3.x selenium selenium-webdriver automation webautomation