python+selenium中使用循环定位网页元素为什么不起作用?在工作中经常对大量数据在网站上进行查询工作,所以想弄了一个自动查询的,这是代码,写得很烂,在循环里,为什么只有第一次的定位查询起作用?第二次就不行了?
这两行dr.find_element(By.NAME, 'page_psn_input').send_keys(cmid)#这两行代码只在第一次运行时起作用,第二次循环就没反应了,也不报错,在网上查了各种原因也没有弄清楚,试过dr.back()还有refresh等等方法都不起作用
这两行 dr.find_element(By.NAME, 'page_rycx_button').click()#这些代码都是一样的问题,在第二次循环里完全没有任何反应,也没有报错
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
import openpyxl
dr = webdriver.Chrome()
dr.get('http://ips.sd.hsip.gov.cn')
time.sleep(1)
dr.find_element(By.NAME, 'username').send_keys('xlalbs')
dr.find_element(By.NAME, 'password').send_keys('abc654321~')
ass=input('输入验证码后点击登陆:')
dr.find_element(By.NAME, 'verificationCode').send_keys(ass)
dr.find_element(By.CLASS_NAME, 'login-btn').click()
input('按下任意键开任务……。')
dr.switch_to.frame(dr.find_element(By.CLASS_NAME, 'iframe'))
workbook=openpyxl.load_workbook('aaa1.xlsx')
sheet=workbook['Sheet1']
row=1
while row < 3:
cmid=sheet.cell(row,1).value
print(cmid)
time.sleep(2)
dr.find_element(By.NAME, 'page_psn_input').send_keys(cmid)#这两行代码只在第一次运行时起作用,第二次循环就没反应了,也不报错,在网上查了各种原因也没有弄清楚,试过dr.back()还有refresh等等方法都不起作用
dr.find_element(By.NAME, 'page_rycx_button').click()#这些代码都是一样的问题,在第二次循环里完全没有任何反应,也没有报错
time.sleep(3)
try:
auuu=dr.find_element(By.XPATH,"//div[@class='datagrid-view2']//table//tr/td[9]/div/div").text
except Exception as e:
auuu='未查到'
print(auuu)
sheet.cell(row,3,auuu)
row=row+1
time.sleep(1)
workbook.save('bbb.xlsx')