我需要在3个不同的搜索框字段中输入3个不同的值,然后提交表单。
我将需要重复几次相同的过程。我目前了解如何使用一个值和一个搜索框字段来完成此操作:
import csv
with open(r'C:\Users\username\Documents\Province\folder\list_titles.txt',
newline='') as inputfile:
list_1 = list(csv.reader(inputfile))
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
driver = webdriver.Firefox()
driver.get("https://vch.cochrane.ca/VCH/city/propsearch
/pigeneralinquiry.aspx")
for query in list_1:
driver.find_element_by_id
("ctl00_MainContentView_rollSearchControl_LINCNumber").send_keys(query)
driver.find_element_by_id
("ctl00_MainContentView_rollSearchControl_LINCNumber").send_keys(Keys.ENTER)
在上面的代码中,我使用一个列表来迭代执行任务。如何做同样的事情,但是在提交表单之前填写3个搜索框字段?
答案 0 :(得分:0)
解决方案遍历列表,但显式列出程序中的搜索字段。
list_1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
driver = webdriver.Firefox()
driver.get("URL with search fields")
for query in list_1:
driver.find_element_by_name("searchfield_1").send_keys(query[0])
driver.find_element_by_name("searchfield_2").send_keys(query[1])
driver.find_element_by_name("searchfield_3").send_keys(query[2])
driver.find_element_by_name("submitbutton").click()
sleep(2)
driver.back()
driver.refresh()
sleep(2)
driver.quit()