我已經寫了一個python中的腳本結合硒來從「街道號」和「地址」執行反向搜索的基礎上從網站上找到一個名稱。首先,腳本應該從「search_post」列表中選擇「A1」,將其放入瀏覽器的「街道搜索框」中,然後從「search_address」中選擇「B1」 「列表將其放入瀏覽器的」地址搜索框「中。我的腳本適用於第一次搜索,但是當第一個循環用於第二個項目時,它會再次用A1代替A2,第二個循環在這種情況下選擇正確的項目B2。更具體地說,第一次需要A1,B1,但第二次需要A1,B2來代替A2,B2。我怎樣才能修復這個循環,以便它平行地選擇物品。如何修復笨拙寫入循環?
A1. 8227 B1. FINDLAY ST
A2. 6330 B2. LAUTREC DR
下面是腳本:
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
search_post = ['8227','6330 ']
search_address = ['FINDLAY ST','LAUTREC DR']
driver = webdriver.Chrome()
driver.get("http://hcad.org/quick-search/")
wait = WebDriverWait(driver, 10)
for item in search_post:
for elem in search_address:
driver.switch_to_frame(driver.find_element_by_tag_name("iframe"))
driver.find_element_by_id("s_addr").click()
wait.until(EC.presence_of_element_located((By.NAME, 'stnum')))
driver.find_element_by_name('stnum').send_keys(item)
driver.find_element_by_name('stname').send_keys(elem)
driver.find_element_by_xpath("//input[@value='Search']").click()
driver.switch_to.frame(driver.find_element_by_id("quickframe"))
element = driver.find_element_by_xpath("//td[@class='data']/table//th")
print(driver.execute_script("return arguments[0].childNodes[2].textContent", element).strip())
driver.quit()
拆分文本成段會很長的路要走,以使您的問題更容易理解。 –
原諒我的語言障礙。 – SIM