from
selenium
import
webdriver
import
time
import
os
CHROMEPATH
=
'/home/metulburr/chromedriver'
PHANTOMPATH
=
'/home/metulburr/phantomjs'
EMAIL
=
''
PASSWORD
=
''
class
App:
def
__init__(
self
):
self
.setup_chrome()
self
.login()
self
.to_home()
self
.to_friends()
friend_name
=
self
.browser.find_element_by_id(
'fb-timeline-cover-name'
)
print
(friend_name.text)
more_about
=
str
(
'More About '
+
str
(friend_name.text))
print
(more_about)
self
.scroll_to_bottom()
print
(
'done'
)
time.sleep(
100000
)
def
scroll_to_bottom(
self
):
driver
=
self
.browser
SCROLL_PAUSE_TIME
=
0.5
last_height
=
driver.execute_script(
"return document.body.scrollHeight"
)
while
True
:
driver.execute_script(
"window.scrollTo(0, document.body.scrollHeight);"
)
time.sleep(SCROLL_PAUSE_TIME)
new_height
=
driver.execute_script(
"return document.body.scrollHeight"
)
if
new_height
=
=
last_height:
break
last_height
=
new_height
def
delay(
self
):
time.sleep(
3
)
def
chrome_prep(
self
):
chrome_options
=
webdriver.ChromeOptions()
chrome_options.add_experimental_option(
'prefs'
, {
'credentials_enable_service'
:
False
,
"profile.default_content_setting_values.notifications"
:
2
,
'profile'
: {
'password_manager_enabled'
:
False
}
}
)
return
chrome_options
def
setup_chrome(
self
):
options
=
self
.chrome_prep()
os.environ[
"webdriver.chrome.driver"
]
=
CHROMEPATH
self
.browser
=
webdriver.Chrome(CHROMEPATH, chrome_options
=
options)
self
.browser.set_window_position(
0
,
0
)
self
.delay()
def
setup_headless(
self
):
self
.browser
=
webdriver.PhantomJS(PHANTOMPATH)
self
.delay()
def
login(
self
):
self
.browser.get(URL)
time.sleep(
1
)
username
=
self
.browser.find_element_by_id(
"email"
)
password
=
self
.browser.find_element_by_id(
"pass"
)
username.send_keys(EMAIL)
password.send_keys(PASSWORD)
login_attempt
=
self
.browser.find_element_by_xpath(
"//*[@type='submit']"
)
login_attempt.submit()
self
.delay()
def
to_home(
self
):
self
.browser.execute_script(
"document.getElementsByClassName('linkWrap noCount')[0].click()"
)
self
.delay()
def
to_friends(
self
):
self
.browser.execute_script(
"document.getElementsByClassName('_6-6')[2].click()"
)
self
.delay()
App()