Ras*_*ziz 1 python selenium automation web-scraping
我得到了AttributeError:'unicode'对象没有在这个问题的标题中指定的属性'sleep',我无法弄清楚为什么它会抛出该错误消息.这是自动发布facebook的自动脚本.如果有人知道我的代码有什么问题,我告诉我.代码在这里
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import traceback
import string
import xlrd
#taking inputs from user-----------------------------------
delay=input('Set Time: ')
limit=input('Set Post Limit: ')
valuee=limit
count=0
start=0
end=valuee
#----------------------------------------------------------
#open file for taking multiple accounts-------------------
f=open('Accounts.csv')
data=f.readlines()
i=0
for value in data:
values=value.split(',')
password=values[1]
user_name=values[0]
#Condition for next URLs--------------------------
if count>=1:
start=limit
end=start + valuee
limit=end
count+=1
#-----------------------------------------------
chrome_options = webdriver.ChromeOptions() #going to chrome options
chrome_options.add_argument("--start-maximized")
prefs = {"profile.default_content_setting_values.notifications" : 2 #turn off all notifications
,"profile.managed_default_content_settings.images": 2} #disable images
chrome_options.add_experimental_option("prefs",prefs)
driver = webdriver.Chrome(chrome_options=chrome_options) # passing paramaters to chrome
#----------------------------------------------------------------------------------------------
try:
driver.get('https://www.facebook.com/')
time.sleep(2)
#puting userName and password---------------------------------------------------------
driver.find_element_by_css_selector('#email').send_keys(user_name)
time.sleep(1)
driver.find_element_by_css_selector('#pass').send_keys(password, Keys.RETURN)
time.sleep(2)
driver.get('https://www.facebook.com/pages/?category=your_pages')
driver.find_element_by_css_selector('._1vgt.ellipsis._349g a').click()
pageUrl=driver.current_url
raw_input('>>')
except:
traceback.print_exc()
raw_input('Something Wrong..! please hit Enter >>\n')
driver.quit()
continue
#file for report-----
report=open('Report/'+user_name+'.csv','w')
#reading file of excel--------------------------------------------------------------------
workbook = xlrd.open_workbook('links.xlsx')
sheet = workbook.sheet_by_index(0)
#print commands:
print '\n******************** Auto Posting Start ********************\n'
#print 'Using Proxy:',proxy
print 'Using Email:',user_name
for row in range(start, end):
driver.get(pageUrl)
time.sleep(2)
try:
#title=value=sheet.cell(row, 0).value
disc=value=sheet.cell(row, 0).value
try:
driver.execute_script("window.scrollTo(0, document.body.scrollHeight/%s);" % 5)
time.sleep(2)
try:
driver.find_element_by_css_selector('._1hib._4bl9').click()
time.sleep(4)
except:
pass
try:
driver.find_element_by_css_selector('.notranslate._5rpu').send_keys(disc)
time.sleep(3)
except:
driver.find_element_by_css_selector('._4h98.navigationFocus').send_keys(disc)
time.sleep(3)
driver.find_element_by_css_selector('._1mf7._4jy0._4jy3._4jy1._51sy.selected._42ft').click()
time.sleep(6)
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(4)
#get latest post url---------------------------
for elem in driver.find_elements_by_css_selector('._5pcq'):
try:
tim=elem.find_element_by_css_selector('._5ptz.timestamp.livetimestamp')
time=tim.text
if time=='Just now':
print'great'
href=elem.get_attribute('href')
print href
raw_input('>>')
break
else:
continue
except:
continue
print 'Report Url:',href
report.write(href+'\n')
except:
traceback.print_exc()
pass
time.sleep(delay)
except:
traceback.print_exc()
print'Urls Completed!'
break
report.close()
driver.quit()
print'Thanks For Using..'
Run Code Online (Sandbox Code Playgroud)
这是因为你用下面一行的字符串覆盖了时间
tim=elem.find_element_by_css_selector('._5ptz.timestamp.livetimestamp')
time=tim.text
if time=='Just now':
Run Code Online (Sandbox Code Playgroud)
所以时间不再是一个模块,它只是一个unicode文本.您需要将该变量重命名为其他内容
| 归档时间: |
|
| 查看次数: |
967 次 |
| 最近记录: |