我想在python中从代码列表到搜索框中进行web报废



这是我的代码的一部分

URL = 'http://contratos.seace.gob.pe/busqueda/#/buscar'

X = ["20201545430","20222120951"]
driver = webdriver.Chrome(PATH)
driver.get(URL)
def search(driver):
enviar = WebDriverWait(driver,5).until(EC.visibility_of_element_located((By.XPATH, '//*[@id="palabraClave"]'))) #caja para poner el numero ruc
enviar.send_keys(RUC)
buscar = WebDriverWait(driver, 5).until(EC.visibility_of_element_located((By.XPATH, '/html/body/app-root/app-buscar/div/div/mat-sidenav-container/mat-sidenav-content/mat-card/div[2]/div[3]/div[4]/button[2]/span'))) # boto buscar
buscar.click()
boton2 = WebDriverWait(driver, 5).until(EC.presence_of_element_located((By.XPATH, '/html/body/app-root/app-buscar/div/div/mat-sidenav-container/mat-sidenav-content/mat-card/div[2]/div[4]/div/div[1]/span/button[2]')))  #buscar la tabla
boton2.click()
for x in X:
search(driver)

但只有当我只查找列表x中的一个id时,这种方法才能正常工作,当我放入多个id时他们只是混合到一个大id中,无法搜索,因为该id不存在。谢谢你的帮助。

完成搜索后,需要清除搜索框。此外,尽量避免那些一英里长的扩张。以下代码将起作用:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time as t
chrome_options = Options()
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("window-size=1280,720")
webdriver_service = Service("chromedriver/chromedriver") ## path to where you saved chromedriver binary
browser = webdriver.Chrome(service=webdriver_service, options=chrome_options)
url = 'http://contratos.seace.gob.pe/busqueda/#/buscar' 
browser.get(url)
search_terms = ["20201545430","20222120951"]
for x in search_terms:
searchbox = WebDriverWait(browser,5).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="palabraClave"]')))
searchbox.send_keys(x)
print(f'searching for {x}')
buscar_button = WebDriverWait(browser, 5).until(EC.element_to_be_clickable((By.XPATH, "//button[@style='background-color: #B3B3B3; color: #000000; height: 2.2em;']/span[text()='Buscar']"))) 
buscar_button.click()
t.sleep(5)
searchbox.clear()

终端打印:

searching for 20201545430
searching for 20222120951

最新更新