send_keys의 메시지 상자에 변수를 전달하기 위해 루프 내에서 루프를 수행하려고합니다. 나는 변수에 전달하려는 정보가있는 두 번째 파일 "test2.txt"를 열 때 오류가있는 것 같습니다. 저는 파이썬에 대해 아주 익숙하지 않습니다. 그리고 그것이 의미하는 것이 무엇인지 잘 모르고 있으며, 검색을 통해 그것을 해결할 수 없었습니다.중첩 루프 AttributeError : 파일을 열 때 __exit__ (Selenium 스크립트)
이 문제를 해결하는 데 도움이 될 경우 많은 도움이 될 것입니다.
코드 :
with open('test2.txt').read() as lp:
current = 1
for line in lp:
field_box.send_keys("""ID:""", lp)
driver.find_element_by_css_selector('.form-buttons').submit()
time.sleep(2)
전체 코드 :
import time
from selenium import webdriver
def doAction():
driver = webdriver.Chrome ('/Users/xxx/chromedriver') # Set correct path for chromedriver: https://sites.google.com/a/chromium.org/chromedriver/downloads
driver.get('https://www.site.com.au/login'); # Set which region you're working with
time.sleep(1)
search_box = driver.find_element_by_name('username')
search_box.send_keys('xxx') # Set your e-mail/username
search_box = driver.find_element_by_name('password')
search_box.send_keys('xxx') # Set your password
driver.find_element_by_css_selector('.btn.btn-primary.btn-md.btn-cm.pull-right').click()
time.sleep(2)
with open('test.txt') as fp:
print '============================================'
print 'Starting to disable entities................'
print '============================================'
current = 1
for line in fp:
url = 'https://www.site.com.au/admin/entities/%s' % line
driver.get(url);
time.sleep(3)
driver.find_element_by_css_selector("input[type='radio'][value='false']").click()
field_box_clear = driver.find_element_by_name('disabledReason').clear()
field_box = driver.find_element_by_name('disabledReason')
with open('test2.txt').read() as lp:
current = 1
for line in lp:
field_box.send_keys("""ID:""", lp)
driver.find_element_by_css_selector('.form-buttons').submit()
time.sleep(2)
print "Doing",current,"Of",file_len('test.txt')
current += 1
print '- Disabled entity: %s' % line
print '============================================'
print 'Completed disabling entities................'
print '============================================'
def file_len(fname):
with open(fname) as f:
for i, l in enumerate(f):
pass
return i + 1
if __name__ == "__main__":
doAction()