如何将值发送到输入类型为文本而不是选择的下拉列表?



我试图自动化verizon网站的工单创建自动化 https://myverizonenterprise.verizon.com/vec/public/quicktasks/repairs/index.html#/repairsqf/tickets/create

在这个站点中,我想将值发送到状态字段的下拉框。但是,不幸的是,没有解决方案对我有用。 我尝试了下面的python代码,但没有用。

state = driver.find_element_by_xpath("//*[@id='combobox-1062-trigger-picker']").click()
driver.find_element_by_xpath("//*[contains(text(), 'TX')]").click()

我也尝试了以下代码。

state = driver.find_element_by_xpath("//*[@id='combobox-1062-trigger-picker']")
state.send_keys('TX')

即使这个解决方案对我也不起作用。

任何人都可以为我提供可行的解决方案吗?

谢谢 Malleshappa Teli

在代码中应用隐式等待或流畅等待

隐式等待

driver.implicitly_wait(15)

显式等待

WebDriverWait(driver, 3).until(EC.presence_of_element_located((By.XPATH, "//li[text()='TX']"))) 

示例代码:

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome('/usr/local/bin/chromedriver')  # Optional argument, if not specified will search path.
driver.implicitly_wait(15) # implicit wait
driver.get("https://myverizonenterprise.verizon.com/vec/public/quicktasks/repairs/index.html#/repairsqf/tickets/create");

driver.find_element_by_xpath("//input[@name='state']").click()
#WebDriverWait(driver, 3).until(EC.presence_of_element_located((By.XPATH, "//li[text()='TX']"))) #Wait for specific element 
ActionChains(driver).move_to_element(driver.find_element_by_xpath("//li[text()='TX']")).perform()
driver.find_element_by_xpath("//li[text()='TX']").click()

driver.quit()

相关内容

  • 没有找到相关文章

最新更新