quora-webdriver 0.1.0 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +10 -5
- data/README.md +16 -4
- data/lib/quora-webdriver/quora.rb +25 -8
- data/lib/quora-webdriver/version.rb +1 -1
- data/spec/quora_login.html +159 -0
- data/spec/quora_spec.rb +35 -3
- data/spec/spec_helper.rb +33 -0
- metadata +5 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 38e02b93497d477bd00e52f236109b707f4658bc
|
4
|
+
data.tar.gz: 16b28115a48f4151fdf2a4efc45d10599e85d587
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb752d4a455bb8e0b74fe7132ad292445bde00bb4dab9f42527874fef43745602b53c31852303483db49133bda70b92672bd33f03c1f1a641b895d8840eb1f59
|
7
|
+
data.tar.gz: b90db238e482530912ce0714d439bf583aaddcdc052f15d5327daaf9aa82cba196c1ab82b3190b19b93e140abede427c5719b91691fbdb5706d7d6e63d523b0b
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
language: ruby
|
2
2
|
rvm:
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
- 2.1.4
|
4
|
+
addons:
|
5
|
+
sauce_connect: true
|
6
|
+
env:
|
7
|
+
global:
|
8
|
+
- secure: gfxUSYcEBbqinazH0kCSvPYNvCeRz25CiGvIKvbdJCuOTsu+umIVBvUSvkH2OQ4806KHFXnIxFb2qVTUM07H5MHt5t1+g8SJkrND0+puHoJE0sesw/3H9jUj7O3wLbYejeteIe1maPSL8K38oT0BeCBXzfM530lTmUuvO+6g4E8=
|
9
|
+
- secure: L0CPB1Wzaq5x2nFO4nP5vE0UD+ApLeABs4g2BrwgEWV7MY2la9smPiPWJS0mJ3OpqYJDMo+8gAX/SnoZ0+/K4tPPqtJK2v4kp136Lu7gVzUcZgrUqZTUBjzgmppkvH6Ybafx8BCPRDK8MolP00tB9HCU3uFohfmLtpK9ppW/rvs=
|
10
|
+
matrix:
|
11
|
+
- BROWSER='chrome:38.0:Mac 10.9'
|
12
|
+
- BROWSER='chrome:38.0:Mac 10.8'
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
# Watir::Browser::Quora
|
1
|
+
# Watir::Browser::Quora [![Build Status](https://travis-ci.org/kratsg/quora-webdriver.svg?branch=master)](https://travis-ci.org/kratsg/quora-webdriver) [![Gem Version](https://badge.fury.io/rb/quora-webdriver.svg)](http://badge.fury.io/rb/quora-webdriver)
|
2
2
|
|
3
|
-
|
3
|
+
Interact with Quora via Command Line! This is an extension of [watir-webdriver](https://github.com/watir/watir-webdriver) by providing `browser.quora` options operating on a browser. **Caveat**: seems to only work with the Chromedriver (see [#usage](#usage) below).
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -20,11 +20,23 @@ Or install it yourself as:
|
|
20
20
|
|
21
21
|
## Usage
|
22
22
|
|
23
|
-
|
23
|
+
You can get started up and easily using the `chromedriver`
|
24
|
+
- https://sites.google.com/a/chromium.org/chromedriver/
|
25
|
+
- http://brewformulas.org/Chromedriver
|
26
|
+
|
27
|
+
```
|
28
|
+
require 'quora-webdriver'
|
29
|
+
b = Watir::Browser.new :chrome
|
30
|
+
b.quora.content :answers
|
31
|
+
```
|
32
|
+
|
33
|
+
## Reporting Issues
|
34
|
+
[File an issue.](https://github.com/kratsg/quora-webdriver/issues/new)
|
24
35
|
|
25
36
|
## Contributing
|
37
|
+
There are not a lot of features added yet. This is to get started and I welcome others to help flesh this out more. Contact [Giordon Stark](https://github.com/kratsg) with requests or on [Quora](https://www.quora.com/Giordon-Stark/).
|
26
38
|
|
27
|
-
1. Fork it ( https://github.com/
|
39
|
+
1. Fork it ( https://github.com/kratsg/quora-webdriver/fork )
|
28
40
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
29
41
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
30
42
|
4. Push to the branch (`git push origin my-new-feature`)
|
@@ -10,10 +10,6 @@ module Watir
|
|
10
10
|
@browser = browser
|
11
11
|
@base_url = "https://www.quora.com/"
|
12
12
|
@logged_in = false
|
13
|
-
@email_box_selector = {:name=>"email", :class=>/header_login_text_box/}
|
14
|
-
@password_box_selector = {:name=>"password", :class=>/header_login_text_box/}
|
15
|
-
@login_button_selector = {:value=>"Login"}
|
16
|
-
@add_question_selector = {:class=>/inner/, :text=>/Add Question/}
|
17
13
|
end
|
18
14
|
|
19
15
|
def user
|
@@ -24,6 +20,22 @@ module Watir
|
|
24
20
|
@user.to_s.gsub("_","-")
|
25
21
|
end
|
26
22
|
|
23
|
+
def get_login_email_text
|
24
|
+
@browser.text_field({:name=>"email", :class=>/header_login_text_box/})
|
25
|
+
end
|
26
|
+
|
27
|
+
def get_login_password_text
|
28
|
+
@browser.text_field({:name=>"password", :class=>/header_login_text_box/})
|
29
|
+
end
|
30
|
+
|
31
|
+
def get_login_submit_button
|
32
|
+
@browser.button({:value=>"Login"})
|
33
|
+
end
|
34
|
+
|
35
|
+
def get_add_question_div
|
36
|
+
@browser.div({:class=>/inner/, :text=>/Add Question/})
|
37
|
+
end
|
38
|
+
|
27
39
|
def login(choice='0')
|
28
40
|
return @logged_in if @logged_in
|
29
41
|
until ['1', '2'].include?(choice)
|
@@ -36,15 +48,15 @@ module Watir
|
|
36
48
|
when '2'
|
37
49
|
email = ask("Enter email: "){ |x| x.echo = true }
|
38
50
|
password = ask("Enter password: "){ |x| x.echo = "*" }
|
39
|
-
email_box =
|
40
|
-
password_box =
|
51
|
+
email_box = get_login_email_text
|
52
|
+
password_box = get_login_password_text
|
41
53
|
unless email_box.exist? and password_box.exist? then
|
42
54
|
puts "There was an error getting the login boxes. Please login manually. Report this error to someone important."
|
43
55
|
self.login('1')
|
44
56
|
end
|
45
57
|
email_box.set email
|
46
58
|
password_box.set password
|
47
|
-
|
59
|
+
get_login_submit_button.click
|
48
60
|
end
|
49
61
|
|
50
62
|
self.verify_login
|
@@ -55,7 +67,7 @@ module Watir
|
|
55
67
|
login_count_checks = 0
|
56
68
|
until @logged_in || (login_count_checks >= 60) do
|
57
69
|
puts "\t Checking if logged in"
|
58
|
-
@logged_in =
|
70
|
+
@logged_in = get_add_question_div.exists?
|
59
71
|
login_count_checks+=1
|
60
72
|
sleep 1
|
61
73
|
end
|
@@ -77,6 +89,11 @@ module Watir
|
|
77
89
|
end
|
78
90
|
end
|
79
91
|
|
92
|
+
def home
|
93
|
+
@url = "#{@base_url}"
|
94
|
+
self.goto :login
|
95
|
+
end
|
96
|
+
|
80
97
|
def answers
|
81
98
|
@url = "#{@base_url}#{self.stringify}/answers?share=1"
|
82
99
|
self.goto
|
@@ -0,0 +1,159 @@
|
|
1
|
+
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><script src="https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en_US.6Ad9kPROHSg.O/m=client,plusone/rt=j/sv=1/d=1/ed=1/am=EQ/rs=AGLTcCMvz0pRGoPoblsgPMwB0zF2kotdRQ/cb=gapi.loaded_0" async=""></script><script type="text/javascript" async="" src="//apis.google.com/js/client:plusone.js?onload=gapiAsyncInit" gapi_processed="true"></script><script async="" src="//www.google-analytics.com/analytics.js"></script><script type="text/javascript" src="//assets.insnw.net/instart/js/week-144-0/loader/instart.js"></script><script type="text/javascript">INSTART.Init({"apiDomain":"assets.insnw.net","disableInjectionXhr":true,"disableInjectionXhrQueryParam":"instart_disable_injection","disableInstantLoadLinkCss":true,"disableInstantLoadUrls":[],"iframeCommunicationTimeout":3000,"partialImage":false,"rId":"34","release":"week-144-0","rum":true,"ver":"loader","virtualDomains":4,"virtualizeDomains":["^.*\\.quora\\.com$","^api\\.quora\\.com$","^codesprintquora\\.quora\\.com$","^geo\\.quora\\.com$","^qim\\.cf\\.quoracdn\\.net$","^qlx\\.cf\\.quoracdn\\.net$","^qph\\.cf\\.quoracdn\\.net$","^qsc\\.cf\\.quoracdn\\.net$","^qsf\\.cf\\.quoracdn\\.net$","^quora\\.com$","^rage-against-quora\\.quora\\.com$","^www\\.quora\\.com$"]}
|
2
|
+
);</script><script src="//assets.insnw.net/instart/js/week-144-0/monitor/instart.js"></script><script>window['__inline_init_cb']();</script><script>
|
3
|
+
var script_defer_queue=script_defer_queue||[];script_defer_queue.execute=function(a){var b=a.fn,c=a.env;b.apply(c)},script_defer_queue.push=function(a){script_defer_queue.length===0?script_defer_queue.execute(a):Array.prototype.push.apply(script_defer_queue,[a])},script_defer_queue.execute_ready=function(){while(script_defer_queue.length>0&&!script_defer_queue[0].marker)script_defer_queue.execute(script_defer_queue[0]),script_defer_queue.shift()},script_defer_queue.pkg_loaded=function(){script_defer_queue.length>0&&script_defer_queue[0].marker===!0&&script_defer_queue.shift(),script_defer_queue.execute_ready()},script_defer_queue.execute_ready(),this.require||function(global,undefined){function require(a){if(!exported[a]){rec("loader.require","Required",a);var b,c=installed[a];c&&(c.id=a,c.exports=b={},c(function(b){return demand(b,a)},exported[a]=b,c),c.exports&&c.exports!==b&&(exported[a]=c.exports),rec("loader.require.export"+(c.lazy?".lazy":""),"Exported",a))}return used[a]=!0,exported[a]}function demand(a,b){return require(a=absolutize(a,b))||raise(a)}function raise(a){throw a}function absolutize(a,b){if(b&&/^\./.test(a)){a="/"+b+"/../"+a;while(a!=(b=a.replace(rel_path_exp,"/")))a=b}return a.replace(/^\//,"")}function deps(a){if(!a.unmet){var b=a+"",c,d=a.unmet={};require_exp.lastIndex=0;while(c=require_exp.exec(b))d[c[1]]=1;return d}return a.unmet}function ready(a){if(typeof a=="object"||a.ready||a.seen)return!0;var b,c={},d=deps(a),e;for(e in d)a.seen=!0,exported[e]&&ready(exported[e])||installed[e]&&ready(installed[e])?c[e]=1:b=1,delete a.seen;for(e in c)delete d[e];if(b){rec("missing modules:");for(e in d)rec(e)}return a.ready=!b,!b}function log(){try{var a=global.console;a&&a.log.apply(a,arguments)}catch(b){}}function flushQueue(){if(!flushing)try{while(qhead!==qtail&&ready(qhead.next))flushing=qhead,qhead=qhead.next,delete flushing.next,rec("loader.flushQueue","Start"),qhead(demand),rec("loader.flushQueue","Finish")}finally{flushing=0}}function rec(){var a=global;return a.log&&a.log.enabled&&a.log.apply(a.log,arguments),history[history.length]={time:+(new Date),tags:history.slice.call(arguments)}}var history=[],installed={},exported={},used={},qhead={},qtail=qhead,flushing,require_exp=/require\(['"]([^'"]+)['"]\)/g,rel_path_exp=/\/(\.?|[^\/]+\/\.\.)\//;require.install=function(a,b,c){rec("loader.install"+(b.lazy?".lazy":""),"Installing",a),c&&(b.unmet=c);var d=typeof b=="object"?exported:installed;d[a]||(d[a]=b,flushQueue())},require.installLazy=function(id,code,depends){var module=function(require,exports,module){window._evalCallArgs=arguments,eval("(function(require,exports,module){"+code+"//*/\n}).apply(window, window._evalCallArgs)")};module.lazy=!0,require.install(id,module,depends)},require.enqueue=function(a){qtail=qtail.next=a,qhead.next===qtail&&ready(a)&&flushQueue()},require.stats=function(){var a={},b="",c="",d={},e=[],f,g;for(g in installed){var h=installed[g]+"";g in used?b+=h:(a[g]=!0,c+=h),d[g]=h.length}f=b.length+c.length;for(g in installed)g.startsWith("internal")||e.push([g,100*d[g]/f]);return console.log("Used modules:",Object.keys(used).length,"Unused modules:",Object.keys(a).length),console.log("Used JS size:",b.length,"Unused JS size:",c.length,100*b.length/f),console.table(e),{used:Object.keys(used),unused:Object.keys(a),installed:installed,exported:exported,usedJS:b,unusedJS:c,percents:e,sizes:d}},rec.dump=function(){return history.slice()},global.rec=rec,global.require=require,rec("loader","Ready")}(this);;
|
4
|
+
require.install("settings", {
|
5
|
+
revision: "96b248c53c35184fcc20d52644057000576375a9",
|
6
|
+
installTime: rec("settings", "install").time,
|
7
|
+
instance: "main",
|
8
|
+
formkey: "bccdedd740f291bc460d970b3d7d9ea6",
|
9
|
+
postkey: "185afd0758d6a9f0fed5fdb8855bd54a",
|
10
|
+
uid: null,
|
11
|
+
controller: "index",
|
12
|
+
action: "index",
|
13
|
+
cookiePrefix: "m",
|
14
|
+
trail: null,
|
15
|
+
actionTrail: null,
|
16
|
+
mobile: false,
|
17
|
+
serverCallUrl: "/webnode2/server_call_POST?__instart__",
|
18
|
+
scribeSampleRate: 1.000000,
|
19
|
+
pageMode: "live" || "live",
|
20
|
+
feedAnchoring: false,
|
21
|
+
requireBase: "https://qsc.is.quoracdn.net/-ba63a0587de0c8ca/",
|
22
|
+
debug: false,
|
23
|
+
componentDebug: false,
|
24
|
+
appURL: null,
|
25
|
+
fbAppId: "136609459636",
|
26
|
+
googleClientId: "917071888555.apps.googleusercontent.com",
|
27
|
+
googleCookiePolicy: "http://quora.com",
|
28
|
+
androidAppPackageName: "com.quora.android",
|
29
|
+
mobileRedirect: false,
|
30
|
+
enableFrameBusting: true,
|
31
|
+
keyboardShortcuts: false,
|
32
|
+
isParallel: true,
|
33
|
+
client_side_js_load_delays_enabled: true,
|
34
|
+
client_side_logging: false,
|
35
|
+
client_side_server_call_error_notifications: true,
|
36
|
+
client_side_server_call_error_logging_percentage: 0.0,
|
37
|
+
subdomain_name: null,
|
38
|
+
subdomain_suffix: "quora.com",
|
39
|
+
default_base_url: "quora.com",
|
40
|
+
default_uri_subdomain_name: null,
|
41
|
+
force_use_absolute_links: false,
|
42
|
+
qtext_improvement_spacing: false,
|
43
|
+
qtext_improvement_list: false,
|
44
|
+
new_grid: true,
|
45
|
+
e2e_sample_rate: 0.100000,
|
46
|
+
history_state_cookie_name: "hs-8899f63b5a",
|
47
|
+
enable_history_state: false,
|
48
|
+
save_feed_story_debug: false,
|
49
|
+
w2_modals_enabled: false
|
50
|
+
});
|
51
|
+
|
52
|
+
require.install("gating", {
|
53
|
+
|
54
|
+
});
|
55
|
+
|
56
|
+
var clicks=[],handleClicks=!0,handleUnready=function(a){if(!handleClicks)return;var b=a.target;while(b&&b.tagName&&b.tagName!="A")b=b.parentNode;if(b&&b.getAttribute&&b.getAttribute("href")==="#"){clicks.push(a.target);var c=document.getElementById("async_spinner");if(!c){c=document.createElement("div"),c.setAttribute("id","async_spinner"),c.setAttribute("class","__live_spinner");var d=document.createElement("div");d.setAttribute("class","__live_spinner_indicator"),require.enqueue(function(){var a=require("spin").createSpinnerElement({color:"#fff"}).el;d.appendChild(a),c.appendChild(d),document.body.appendChild(c)})}}},clearHandlers=function(){if(!handleClicks)return;handleClicks=!1,document.detachEvent?document.detachEvent("onclick",handleUnready):document.removeEventListener("click",handleUnready,!0);for(var a=0;a<clicks.length;++a)clicks[a].click();var b=document.getElementById("async_spinner");b&&b.parentNode.removeChild(b)};document.attachEvent?document.attachEvent("onclick",handleUnready):document.addEventListener("click",handleUnready,!0);;
|
57
|
+
</script>
|
58
|
+
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch/description.xml" title="Quora" /><meta name="robots" content="noarchive" /><script type="text/javascript"> var script_defer_queue = script_defer_queue || []; script_defer_queue.push( { env: window, fn: function(){
|
59
|
+
window.lazyJQuery = true;
|
60
|
+
if (window.log && log.enabled)
|
61
|
+
log('page', 'Loading JS modules...');
|
62
|
+
} }); </script><link href="https://qsc.is.quoracdn.net/-c7aa6c76385ffba9.css" rel="stylesheet" type="text/css" /><script>var __W2__shouldUseNewContentForLoadingSpinner = true;</script><script type="text/javascript" src="https://qsc.is.quoracdn.net/-f7f0feca441941b6.js"></script><style type="text/css"></style><script>
|
63
|
+
script_defer_queue = script_defer_queue || [];
|
64
|
+
Array.prototype.push.call(script_defer_queue, {marker: true});
|
65
|
+
</script>
|
66
|
+
<script type="text/javascript" src="https://qsc.is.quoracdn.net/-8f3c06c7d7c7451e.js" async="" defer=""></script><script type="text/javascript"> var script_defer_queue = script_defer_queue || []; script_defer_queue.push( { env: window, fn: function(){
|
67
|
+
if (window.log && log.enabled)
|
68
|
+
log('page', 'Done. Header chunk is processed.');
|
69
|
+
} }); </script><title>Quora - Your Best Source for Knowledge</title><link rel="canonical" href="http://www.quora.com/" /><link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="http://www.quora.com/rss" /><script type="text/javascript"> var script_defer_queue = script_defer_queue || []; script_defer_queue.push( { env: window, fn: function(){
|
70
|
+
if (window.w2_timing)
|
71
|
+
w2_timing.logTime('bodyChunkStart');
|
72
|
+
} }); </script><style type="text/css">.fb_hidden{position:absolute;top:-10000px;z-index:10001}.fb_invisible{display:none}.fb_reset{background:none;border:0;border-spacing:0;color:#000;cursor:auto;direction:ltr;font-family:"lucida grande", tahoma, verdana, arial, sans-serif;font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:1;margin:0;overflow:visible;padding:0;text-align:left;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;visibility:visible;white-space:normal;word-spacing:normal}.fb_reset>div{overflow:hidden}.fb_link img{border:none}
|
73
|
+
.fb_dialog{background:rgba(82, 82, 82, .7);position:absolute;top:-10000px;z-index:10001}.fb_reset .fb_dialog_legacy{overflow:visible}.fb_dialog_advanced{padding:10px;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.fb_dialog_content{background:#fff;color:#333}.fb_dialog_close_icon{background:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/yq/r/IE9JII6Z1Ys.png) no-repeat scroll 0 0 transparent;_background-image:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/yL/r/s816eWC-2sl.gif);cursor:pointer;display:block;height:15px;position:absolute;right:18px;top:17px;width:15px}.fb_dialog_mobile .fb_dialog_close_icon{top:5px;left:5px;right:auto}.fb_dialog_padding{background-color:transparent;position:absolute;width:1px;z-index:-1}.fb_dialog_close_icon:hover{background:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/yq/r/IE9JII6Z1Ys.png) no-repeat scroll 0 -15px transparent;_background-image:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/yL/r/s816eWC-2sl.gif)}.fb_dialog_close_icon:active{background:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/yq/r/IE9JII6Z1Ys.png) no-repeat scroll 0 -30px transparent;_background-image:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/yL/r/s816eWC-2sl.gif)}.fb_dialog_loader{background-color:#f2f2f2;border:1px solid #606060;font-size:24px;padding:20px}.fb_dialog_top_left,.fb_dialog_top_right,.fb_dialog_bottom_left,.fb_dialog_bottom_right{height:10px;width:10px;overflow:hidden;position:absolute}.fb_dialog_top_left{background:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/ye/r/8YeTNIlTZjm.png) no-repeat 0 0;left:-10px;top:-10px}.fb_dialog_top_right{background:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/ye/r/8YeTNIlTZjm.png) no-repeat 0 -10px;right:-10px;top:-10px}.fb_dialog_bottom_left{background:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/ye/r/8YeTNIlTZjm.png) no-repeat 0 -20px;bottom:-10px;left:-10px}.fb_dialog_bottom_right{background:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/ye/r/8YeTNIlTZjm.png) no-repeat 0 -30px;right:-10px;bottom:-10px}.fb_dialog_vert_left,.fb_dialog_vert_right,.fb_dialog_horiz_top,.fb_dialog_horiz_bottom{position:absolute;background:#525252;filter:alpha(opacity=70);opacity:.7}.fb_dialog_vert_left,.fb_dialog_vert_right{width:10px;height:100%}.fb_dialog_vert_left{margin-left:-10px}.fb_dialog_vert_right{right:0;margin-right:-10px}.fb_dialog_horiz_top,.fb_dialog_horiz_bottom{width:100%;height:10px}.fb_dialog_horiz_top{margin-top:-10px}.fb_dialog_horiz_bottom{bottom:0;margin-bottom:-10px}.fb_dialog_iframe{line-height:0}.fb_dialog_content .dialog_title{background:#6d84b4;border:1px solid #3b5998;color:#fff;font-size:14px;font-weight:bold;margin:0}.fb_dialog_content .dialog_title>span{background:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/yd/r/Cou7n-nqK52.gif) no-repeat 5px 50%;float:left;padding:5px 0 7px 26px}body.fb_hidden{-webkit-transform:none;height:100%;margin:0;overflow:visible;position:absolute;top:-10000px;left:0;width:100%}.fb_dialog.fb_dialog_mobile.loading{background:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/ya/r/3rhSv5V8j3o.gif) white no-repeat 50% 50%;min-height:100%;min-width:100%;overflow:hidden;position:absolute;top:0;z-index:10001}.fb_dialog.fb_dialog_mobile.loading.centered{max-height:590px;min-height:590px;max-width:500px;min-width:500px}#fb-root #fb_dialog_ipad_overlay{background:rgba(0, 0, 0, .45);position:absolute;left:0;top:0;width:100%;min-height:100%;z-index:10000}#fb-root #fb_dialog_ipad_overlay.hidden{display:none}.fb_dialog.fb_dialog_mobile.loading iframe{visibility:hidden}.fb_dialog_content .dialog_header{-webkit-box-shadow:white 0 1px 1px -1px inset;background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#738ABA), to(#2C4987));border-bottom:1px solid;border-color:#1d4088;color:#fff;font:14px Helvetica, sans-serif;font-weight:bold;text-overflow:ellipsis;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0;vertical-align:middle;white-space:nowrap}.fb_dialog_content .dialog_header table{-webkit-font-smoothing:subpixel-antialiased;height:43px;width:100%}.fb_dialog_content .dialog_header td.header_left{font-size:12px;padding-left:5px;vertical-align:middle;width:60px}.fb_dialog_content .dialog_header td.header_right{font-size:12px;padding-right:5px;vertical-align:middle;width:60px}.fb_dialog_content .touchable_button{background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#4966A6), color-stop(.5, #355492), to(#2A4887));border:1px solid #29447e;-webkit-background-clip:padding-box;-webkit-border-radius:3px;-webkit-box-shadow:rgba(0, 0, 0, .117188) 0 1px 1px inset, rgba(255, 255, 255, .167969) 0 1px 0;display:inline-block;margin-top:3px;max-width:85px;line-height:18px;padding:4px 12px;position:relative}.fb_dialog_content .dialog_header .touchable_button input{border:none;background:none;color:#fff;font:12px Helvetica, sans-serif;font-weight:bold;margin:2px -12px;padding:2px 6px 3px 6px;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0}.fb_dialog_content .dialog_header .header_center{color:#fff;font-size:16px;font-weight:bold;line-height:18px;text-align:center;vertical-align:middle}.fb_dialog_content .dialog_content{background:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/y9/r/jKEcVPZFk-2.gif) no-repeat 50% 50%;border:1px solid #555;border-bottom:0;border-top:0;height:150px}.fb_dialog_content .dialog_footer{background:#f2f2f2;border:1px solid #555;border-top-color:#ccc;height:40px}#fb_dialog_loader_close{float:left}.fb_dialog.fb_dialog_mobile .fb_dialog_close_button{text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0}.fb_dialog.fb_dialog_mobile .fb_dialog_close_icon{visibility:hidden}
|
74
|
+
.fb_iframe_widget{display:inline-block;position:relative}.fb_iframe_widget span{display:inline-block;position:relative;text-align:justify}.fb_iframe_widget iframe{position:absolute}.fb_iframe_widget_lift{z-index:1}.fb_hide_iframes iframe{position:relative;left:-10000px}.fb_iframe_widget_loader{position:relative;display:inline-block}.fb_iframe_widget_fluid{display:inline}.fb_iframe_widget_fluid span{width:100%}.fb_iframe_widget_loader iframe{min-height:32px;z-index:2;zoom:1}.fb_iframe_widget_loader .FB_Loader{background:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/y9/r/jKEcVPZFk-2.gif) no-repeat;height:32px;width:32px;margin-left:-16px;position:absolute;left:50%;z-index:4}</style></head><body class="logged_out_page_big_signup" data-twttr-rendered="true"><script charset="utf-8" src="https://tch134099.tch.quora.com/up/chan8-8885/updates?min_seq=140284530&channel=main-w-dep3801-4129394825469221042&callback=jsonp149d783428d1b9b4983"></script><div class="InteractionModeBanner" id="__w2_bU6Cr5Z_banner"><div id="__w2_bU6Cr5Z_message">There are updates to this page that haven't been applied because you've entered text. <a href="#" id="__w2_bU6Cr5Z_resume">Refresh this page</a> to see updates.</div></div><div class="ErrorBanner" id="__w2_bRHdACQ_banner"><div id="__w2_bRHdACQ_message"><span id="__w2_bRHdACQ_text"></span><a href="#" id="__w2_bRHdACQ_hide">Hide this message</a>.</div></div><div class="modal_overlay hidden" id="__w2_modal_overlay_"><div class="modal_wrapper normal"><div id="__w2_modal_frame_placeholder_"></div></div></div><div id="ld_tnqnam_316"><div class="PMsgContainer hidden" id="__w2_lWdA8C7_pmsg_container" style="display: none;"><div class="EncodableComponent LoginRequired PMsg" id="__w2_eOhMGaN_container"><div class="contents"><a class="pmsg_close" alt="Dismiss" href="#" id="__w2_eOhMGaN_x">✕</a>You need to be logged in to see that page.</div></div></div><div class="main_full_width content contents main_content ContentWrapper"><div id="__w2_KJO1Tih_content"><div id="ld_mavdwv_69501"><div class="HomeLoggedOut HomeLoggedOutBigSignup"><div class="logo"></div><div class="tagline"><h1>Sign up to read Quora</h1><h2>The best answer to any question</h2></div><div class="spacer"></div><div class="container"><div class="signup"><div class="signup_form_big_buttons"><div class="col connected_photo_wrapper hidden" id="__w2_tuN7uZC_connected_photo_wrapper"> <div class="hidden br3 tease_box connected_photo" id="__w2_tuN7uZC_connected_info"><img src="https://qsf.is.quoracdn.net/-24b280cb3f0a234e.gif" style="float:left;width:50px;" id="__w2_tuN7uZC_connected_pic" /><label class="hidden" style="width:50px" id="__w2_tuN7uZC_fb_info"><img src="https://qsf.is.quoracdn.net/-3f97e9658610fd24.gif" style="padding-right: 5px;" /><strong id="__w2_tuN7uZC_fb_name"></strong></label><label class="hidden" style="width:50px" id="__w2_tuN7uZC_twitter_info"><img width="16" style="padding-right: 5px;" height="16" src="https://qsf.is.quoracdn.net/-717943ea2ab806b1.png" /><strong id="__w2_tuN7uZC_tw_name"></strong></label><label class="hidden" style="width:50px" id="__w2_tuN7uZC_goog_info"><img width="16" style="padding-right: 5px;" height="16" src="https://qsf.is.quoracdn.net/-0221ae28fc359ca7.png" /><strong id="__w2_tuN7uZC_goog_name"></strong></label></div></div><div class="e_col w3_5 signup_form"><form class="" action="/signup/signup_POST/" method="POST" target="_self" id="__w2_tuN7uZC_form"><input type="hidden" name="formkey" value="bccdedd740f291bc460d970b3d7d9ea6" /><input group="__w2_tuN7uZC_interaction" type="hidden" name="code" w2cid="tuN7uZC" id="__w2_tuN7uZC_code" /><input group="__w2_tuN7uZC_interaction" type="hidden" name="group" w2cid="tuN7uZC" id="__w2_tuN7uZC_group" /><input group="__w2_tuN7uZC_interaction" type="hidden" name="source_user_name" w2cid="tuN7uZC" id="__w2_tuN7uZC_source_user_name" /><input group="__w2_tuN7uZC_interaction" type="hidden" name="source_url" w2cid="tuN7uZC" id="__w2_tuN7uZC_source_url" /><input group="__w2_tuN7uZC_interaction" type="hidden" name="signup_form" value="SignupFormBigButtonsOneClick" w2cid="tuN7uZC" id="__w2_tuN7uZC_signup_form" /><input group="__w2_tuN7uZC_interaction" type="hidden" name="source" value="home" w2cid="tuN7uZC" id="__w2_tuN7uZC_source" /><input group="__w2_tuN7uZC_interaction" type="hidden" w2cid="tuN7uZC" id="__w2_tuN7uZC_fb_uid" /><input group="__w2_tuN7uZC_interaction" type="hidden" w2cid="tuN7uZC" id="__w2_tuN7uZC_tw_uid" /><div class="row " id="__w2_tuN7uZC_step_1"><div class="row step_1_header"></div><div class="row"><div class="e_col connect_buttons instruction_text three_connect_buttons" id="__w2_tuN7uZC_connect_buttons"><div class="row connect_buttons_row"><a class="google_button submit_button" href="#" tabindex="5" id="__w2_EvzmIgc_google_connect_button"><span class="google_button_text">Sign Up With Google</span></a><span class="hidden connected_link_text google_connected_link_text br3" id="__w2_tuN7uZC_google_connected">Connected to Google</span><input group="__w2_tuN7uZC_interaction" type="hidden" name="goog_access_token" w2cid="tuN7uZC" id="__w2_tuN7uZC_goog_access_token" /><a class="facebook_button submit_button" href="#" tabindex="6" id="__w2_w8Y01bD_facebook_connect_button"><span class="facebook_button_text">Sign Up With Facebook</span></a><span class="hidden connected_link_text facebook_connected_link_text br3" id="__w2_tuN7uZC_facebook_connected">Connected to Facebook</span><input group="__w2_tuN7uZC_interaction" type="hidden" name="fb_access_token" w2cid="tuN7uZC" id="__w2_tuN7uZC_fb_access_token" /><input group="__w2_tuN7uZC_interaction" type="hidden" name="fb_expires" w2cid="tuN7uZC" id="__w2_tuN7uZC_fb_expires" /><a class="twitter_button submit_button" href="#" tabindex="6" id="__w2_LwAI36i_twitter_connect_button">Sign Up With Twitter</a><span class="hidden connected_link_text twitter_connected_link_text br3" id="__w2_tuN7uZC_twitter_connected">Connected to Twitter</span><input group="__w2_tuN7uZC_interaction" type="hidden" name="twitter_oauth_key" w2cid="tuN7uZC" id="__w2_tuN7uZC_tw_oauth_key" /></div><div id="__w2_tuN7uZC_connect_explanation"><a class="signup_email_link" href="#" tabindex="8" id="__w2_tuN7uZC_bypass_connect_link">Sign Up With Email</a>. <span class="tos_disclaimer">By signing up you indicate that you have read and agree to the <a href="/about/tos" target="_blank">Terms of Service</a>.</span></div></div></div></div><div class="hidden step_2 row" id="__w2_tuN7uZC_step_2"><h2><span id="__w2_tuN7uZC_step_2_header_prefix"></span>Sign Up</h2><div class="stacked_form e_col p1"><div class="form_row"><label>Full Name</label><input class="text" group="__w2_tuN7uZC_interaction" name="name" autocorrect="off" value="" autocapitalize="words" type="text" tabindex="9" w2cid="tuN7uZC" id="__w2_tuN7uZC_name" /><div class="hidden __w2_uEYjFoM_invalid input_validation_error_text" id="__w2_uEYjFoM_invalid_message"></div><span class="hidden input_valid __w2_uEYjFoM_valid input_status"></span><span class="hidden input_invalid __w2_uEYjFoM_invalid input_status"></span><div class="hidden ">Checking...</div></div><div class="form_row"><label>Email</label><input class="text" group="__w2_tuN7uZC_interaction" type="text" name="email" value="" tabindex="10" w2cid="tuN7uZC" id="__w2_tuN7uZC_email" /><div class="hidden __w2_qOXxM78_invalid input_validation_error_text" id="__w2_qOXxM78_invalid_message"></div><span class="hidden input_valid __w2_qOXxM78_valid input_status"></span><span class="hidden input_invalid __w2_qOXxM78_invalid input_status"></span><div class="hidden ">Checking...</div></div><div class="form_row"><label>Password</label><input class="text" group="__w2_tuN7uZC_interaction" type="password" name="password" tabindex="11" w2cid="tuN7uZC" id="__w2_tuN7uZC_password" /><div class="hidden __w2_cg1kEMh_invalid input_validation_error_text" id="__w2_cg1kEMh_invalid_message"></div><span class="hidden input_valid __w2_cg1kEMh_valid input_status"></span><span class="hidden input_invalid __w2_cg1kEMh_invalid input_status"></span><div class="hidden ">Checking...</div></div></div><div class="row small"><span class="light_gray tos_disclaimer">By clicking "Sign Up" you indicate that you have read and agree to the <a href="/about/tos" target="_blank">Terms of Service</a>.</span></div><div class="row"><div class="form_buttons" id="__w2_tuN7uZC_create_account"><span class="light"><a class="cancel" href="#" id="__w2_tuN7uZC_cancel">Cancel</a></span><input class="submit_button" group="__w2_tuN7uZC_interaction" type="submit" value="Sign Up" tabindex="12" w2cid="tuN7uZC" id="__w2_tuN7uZC_submit" /></div></div></div></form></div><div class="row hidden connected_friends_list" id="__w2_tuN7uZC_connected_friends_list"> </div></div></div><div class="login"><div id="ld_ikqvwq_71253"><div id="__w2_NRt6iU0_logged_out_header_login"><div class="associated_login" id="__w2_NRt6iU0_associated"></div><div class="regular_login"><form class="inline_login_form" method="POST" id="__w2_NRt6iU0_login_form"><div class="title">Login</div><div class="form_inputs"><div class="hidden small_login_preview e_col" id="__w2_NRt6iU0_preview" style="display: none;"><img width="25" height="25" id="__w2_NRt6iU0_pic" /></div><div class="form_column"><input class="text header_login_text_box ignore_interaction" group="__w2_NRt6iU0_interaction" type="text" placeholder="Email" name="email" tabindex="1" w2cid="NRt6iU0" id="__w2_NRt6iU0_email" /><div class="remember_me" group="__w2_NRt6iU0_login_options" id="__w2__u_lULja1UURh"><input class="passwordless_checkbox ignore_interaction" group="__w2_NRt6iU0_interaction" type="checkbox" checked="checked" name="allow_passwordless" value="allow_passwordless" tabindex="3" w2cid="NRt6iU0" id="__w2_NRt6iU0_allow_passwordless" />Remember Me</div></div><div class="form_column"><input class="text header_login_text_box ignore_interaction" group="__w2_NRt6iU0_interaction" type="password" placeholder="Password" name="password" tabindex="2" w2cid="NRt6iU0" id="__w2_NRt6iU0_password" /><div group="__w2_NRt6iU0_login_options" id="__w2__u_xubvEKXOhi"><a class="forgot_password" href="#" id="__w2_NRt6iU0_forgot_password_link">Forgot Password?</a></div></div><input class="submit_button ignore_interaction submit_button_disabled" group="__w2_NRt6iU0_interaction" type="submit" value="Login" tabindex="4" w2cid="NRt6iU0" id="__w2_NRt6iU0_submit_button" /><div id="__w2_NRt6iU0_errors"><p class="hidden input_validation_error_text" id="__w2_NRt6iU0_email_not_confirmed_error" style="display: none;">Please confirm your email address. <a href="#" id="__w2_NRt6iU0_resend_confirmation">Resend Confirmation Link</a></p><span class="hidden input_validation_error_text" id="__w2_NRt6iU0_email_not_found_error" style="display: none;">No account found for this email. Retry, or <a href="/" id="__w2_NRt6iU0_email_not_found_signup_link">Sign up for Quora.</a></span><span class="hidden input_validation_error_text" id="__w2_NRt6iU0_incorrect_password_error" style="display: none;">Incorrect password. <a href="#" id="__w2_NRt6iU0_reset_password_link">Reset Password</a></span></div></div></form></div></div></div></div></div><div class="footer_nav row"><div class="e_col footer_links w8"><ul class="nav_list"><li class="about"><a href="/about">About</a></li><li class="careers"><a href="/careers">Careers</a></li><li class="privacy"><a href="/about/privacy">Privacy</a></li><li class="sitemap"><a href="/sitemap">Sitemap</a></li><li class="tos"><a href="/about/tos">Terms</a></li></ul></div></div></div></div></div></div></div><div id="ld_tnqnam_317"></div><div class="__live_spinner hidden" id="__w2_zBB53Db_loading"><div class="__live_spinner_indicator" id="__w2_zBB53Db_spinner"></div></div><div id="ld_tnqnam_318"></div><div id="ld_tnqnam_319"></div><div class="tiny_swf"><object type="application/x-shockwave-flash" allowscriptaccess="always" data="https://qsf.is.quoracdn.net/-ecc40f52619f79e0.swf" width="1" height="1" id="__w2_yhPlYPo_flash" style="visibility: visible;"><param name="allowScriptAccess" value="always" /><param name="flashvars" value="domain=www.quora.com" /></object></div><script type="text/javascript"> var script_defer_queue = script_defer_queue || []; script_defer_queue.push( { env: window, fn: function(){
|
75
|
+
if ($.loader) $.loader(window);
|
76
|
+
} }); </script><script type="text/javascript"> var script_defer_queue = script_defer_queue || []; script_defer_queue.push( { env: window, fn: function(){
|
77
|
+
require.enqueue(function(require) {
|
78
|
+
require('webnode2').windowId = "dep3801-4129394825469221042";
|
79
|
+
});
|
80
|
+
} }); </script><script type="text/javascript"> var script_defer_queue = script_defer_queue || []; script_defer_queue.push( { env: window, fn: function(){
|
81
|
+
require.enqueue(function(require) {
|
82
|
+
require("tchannel_up").start(0, "main-w-dep3801-4129394825469221042", "chan8-8885", "quora.com", "");
|
83
|
+
});
|
84
|
+
} }); </script><script type="text/javascript"> var script_defer_queue = script_defer_queue || []; script_defer_queue.push( { env: window, fn: function(){
|
85
|
+
require.enqueue(function(require) {
|
86
|
+
require("cookies").cookie("tz", new Date().getTimezoneOffset(), {"path": "/"});
|
87
|
+
});
|
88
|
+
} }); </script><script type="text/javascript"> var script_defer_queue = script_defer_queue || []; script_defer_queue.push( { env: window, fn: function(){
|
89
|
+
$.whenIdle(350, 350, function() {
|
90
|
+
require.enqueue(function(require) {
|
91
|
+
if (window.w2_timing)
|
92
|
+
w2_timing.logTime('componentInitStart');
|
93
|
+
var W2 = require('webnode2'),
|
94
|
+
LiveNode = require('w2.livenode');
|
95
|
+
W2.addComponentMetadata({parents: {"SNP1Owo": "*ROOT*", "t6ARiOk": "CCSllhq", "qOXxM78": "tuN7uZC", "FQFCd0e": "*ROOT*", "eOhMGaN": "lWdA8C7", "UehhklZ": "tuN7uZC", "yp6LYo5": "*ROOT*", "CCSllhq": "*ROOT*", "KJO1Tih": "CCSllhq", "NRt6iU0": "wqI0dWH", "nXa23oa": "KJO1Tih", "zBB53Db": "*ROOT*", "bU6Cr5Z": "*ROOT*", "fTsNuvO": "KJO1Tih", "tuN7uZC": "wqI0dWH", "w8Y01bD": "tuN7uZC", "vH00jxM": "rkMk00l", "lWdA8C7": "KJO1Tih", "wLztwAv": "rkMk00l", "KMs7pOO": "rkMk00l", "LwAI36i": "tuN7uZC", "cg1kEMh": "tuN7uZC", "JnkvyTs": "*ROOT*", "qPak7cT": "*ROOT*", "wqI0dWH": "KJO1Tih", "rkMk00l": "MzFs9mn", "rWyDs0P": "wqI0dWH", "yhPlYPo": "*ROOT*", "bRHdACQ": "*ROOT*", "uEYjFoM": "tuN7uZC", "fk1GgAT": "rkMk00l", "kfQGBgz": "rkMk00l", "N4JfgqI": "qPak7cT", "ETC6aMw": "KJO1Tih", "MzFs9mn": "wqI0dWH", "EvzmIgc": "tuN7uZC"}, children: {"tuN7uZC": {"email_validator": "qOXxM78", "name_validator": "uEYjFoM", "google_connect_button": "EvzmIgc", "password_validator": "cg1kEMh", "facebook_connect_button": "w8Y01bD", "twitter_connect_button": "LwAI36i"}}, knowsAbout: {"wqI0dWH": {"home_logged_out": "."}, "CCSllhq": {"content": "content", "layout": "."}, "tuN7uZC": {"facebook_connect_button": "facebook_connect_button"}, "NRt6iU0": {"inline_login": "."}}, groups: {"__w2_tuN7uZC_interaction": ["__w2_tuN7uZC_code", "__w2_tuN7uZC_group", "__w2_tuN7uZC_source_user_name", "__w2_tuN7uZC_source_url", "__w2_tuN7uZC_signup_form", "__w2_tuN7uZC_source", "__w2_tuN7uZC_fb_uid", "__w2_tuN7uZC_tw_uid", "__w2_tuN7uZC_goog_access_token", "__w2_tuN7uZC_fb_access_token", "__w2_tuN7uZC_fb_expires", "__w2_tuN7uZC_tw_oauth_key", "__w2_tuN7uZC_name", "__w2_tuN7uZC_email", "__w2_tuN7uZC_password", "__w2_tuN7uZC_submit"], "__w2_NRt6iU0_interaction": ["__w2_NRt6iU0_email", "__w2_NRt6iU0_allow_passwordless", "__w2_NRt6iU0_password", "__w2_NRt6iU0_submit_button"], "__w2_NRt6iU0_login_options": ["__w2__u_lULja1UURh", "__w2__u_xubvEKXOhi"]}, domids: {"JnkvyTs": "ld_tnqnam_319", "qPak7cT": "ld_tnqnam_318", "wqI0dWH": "ld_mavdwv_69501", "FQFCd0e": "ld_tnqnam_317", "KJO1Tih": "ld_tnqnam_316", "NRt6iU0": "ld_ikqvwq_71253"}});
|
96
|
+
var newComponent = W2.newComponent;
|
97
|
+
var _components = [new(W2._InteractionModeBanner)("bU6Cr5Z","",{"new_grid": true},"hmac:4R3MtyRZUPRtRl",{}),
|
98
|
+
new(require("w2.livenode").ErrorBanner)("bRHdACQ","",{"new_grid": true},"hmac:2O1ftyp2jLiIaD",{}),
|
99
|
+
new(require("app/view/components").JSTest)("t6ARiOk","",{},"hmac:DAalTWsvfBzxrO",{}),
|
100
|
+
new(require('login').LoginSignal)("FQFCd0e","",{"uid": null},"hmac:H4N6YL2RRfUEoi",{}),
|
101
|
+
new(require('login').LiveLogin)("yp6LYo5","",{},"hmac:8RVxElLKc7Cyo5",{}),
|
102
|
+
new(require("w2.livenode").LiveSpinner)("zBB53Db","",{},"hmac:tANVsiE+cxkDRj",{}),
|
103
|
+
new(require('facebook').FacebookAccessTokenRefresher)("N4JfgqI","",{},"hmac:8sPHrRXxQOxkic",{}),
|
104
|
+
new(require('app/view/signup/google_').GoogleAutoLogin)("JnkvyTs","",{"viewer": null, "scopes": ["email", "profile"]},"hmac:ze5Lm7THgFwGFu",{}),
|
105
|
+
new(require("flash").FlashClient)("yhPlYPo","",{"cp": "m", "swf_url": "https://qsf.is.quoracdn.net/-ecc40f52619f79e0.swf", "fc": "oYiISIY3Z40wIBPf1X7QCw==", "so": "main-client-1", "flash_vars": {"domain": "www.quora.com"}},"hmac:TKP67vMcwwrO3l",{}),
|
106
|
+
new(require("app/view/layout").ContentWrapper)("KJO1Tih","",{},"hmac:PmJZdRvgjJvVK0",{}),
|
107
|
+
new(require("app/view/pmsg/pmsg").PMsgContainer)("lWdA8C7","",{},"hmac:Z36MqySU3Cjjif",{}),
|
108
|
+
new(require("app/view/pmsg/pmsg").PMsg)("eOhMGaN","",{},"hmac:qAirPfwFS8ZYtN",{}),
|
109
|
+
new(require("app/view/layout").NGQTextImageEnlarger)("nXa23oa","",{},"hmac:S4wcGVzUxxHge1",{}),
|
110
|
+
new(require("app/view/layout").QTextEmbedEnlarger)("fTsNuvO","",{},"hmac:fTqTKBA8YOwpQv",{}),
|
111
|
+
new(require("app/view/layout").QTextGIFPlayer)("ETC6aMw","",{},"hmac:dZUKqgrmjfibWg",{}),
|
112
|
+
new(require('app/view/signup').SignupFormBigButtons)("tuN7uZC","",{"code": null, "is_ios": false, "no_associated_users": true, "hide_welcome_on_connect": false, "minimum_password_length": 5, "next_url": null, "tid": null, "hide_step1_header_on_step2": false, "inline_login": false, "show_explanation": false},"hmac:b+F4sdSnUyzftq",{}),
|
113
|
+
new(require("app/view/signup/google_").SignupGoogleConnectButton)("EvzmIgc","google_connect_button",{"scopes": "email profile", "tracking_prefix": "", "prompt_ota_install": true},"hmac:dVzuhJyHxdVbMV",{}),
|
114
|
+
new(require("facebook").SignupFacebookConnectButton)("w8Y01bD","facebook_connect_button",{"perms": "user_hometown,user_location,user_work_history,user_education_history,email,publish_actions,read_friendlists,user_likes", "tracking_prefix": ""},"hmac:Wst6HxW8jmHgtn",{}),
|
115
|
+
new(require("twitter").SignupTwitterConnectButton)("LwAI36i","twitter_connect_button",{},"hmac:4GXX54IqrPsFzu",{}),
|
116
|
+
new(W2.InputValidator)("uEYjFoM","name_validator",{"id": "@name"},"hmac:iYa3AbfkKH5eZM",{}),
|
117
|
+
new(W2.InputValidator)("qOXxM78","email_validator",{"id": "@email"},"hmac:fMrfC6SP0jlQLX",{}),
|
118
|
+
new(W2.InputValidator)("cg1kEMh","password_validator",{"id": "@password"},"hmac:G5tPizlWGiDeuW",{}),
|
119
|
+
new(require("login").LoggedOutHomeHeaderInlineLogin)("NRt6iU0","",{},"hmac:Yg2NGe+k8xotzu",{}),
|
120
|
+
new(require('login').LoginPageLoginListener)("rWyDs0P","",{"next": "https://www.quora.com/content"},"hmac:nuxb4Hsod+K+Re",{})];
|
121
|
+
W2.registerComponents(_components);
|
122
|
+
W2.onLoad(_components, true);
|
123
|
+
if (window.w2_timing)
|
124
|
+
w2_timing.logTime('componentInitEnd');
|
125
|
+
|
126
|
+
(function() {
|
127
|
+
w2_timing.logTime('postOnLoad');
|
128
|
+
var timing = w2_timing.timing;
|
129
|
+
$.whenLoaded(1, function() {
|
130
|
+
})})();})}, "Initialize components");} }); </script><script type="text/javascript"> var script_defer_queue = script_defer_queue || []; script_defer_queue.push( { env: window, fn: function(){
|
131
|
+
require.enqueue(function(require) {
|
132
|
+
var twRootNode = document.createElement("div");
|
133
|
+
twRootNode.setAttribute("id", "tw-root");
|
134
|
+
document.body.appendChild(twRootNode);
|
135
|
+
require("twitter").asyncInit();
|
136
|
+
});require('win.load').add(function() {
|
137
|
+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
138
|
+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
139
|
+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
140
|
+
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
141
|
+
ga('create', 'UA-16618355-1', 'auto');
|
142
|
+
ga('send', 'pageview');
|
143
|
+
ga('set', 'dimension1', 'Home');
|
144
|
+
ga('set', 'dimension2', 'False');
|
145
|
+
ga('set', 'dimension3', 'False');});} }); </script><script type="text/javascript"> var script_defer_queue = script_defer_queue || []; script_defer_queue.push( { env: window, fn: function(){
|
146
|
+
require.enqueue(function(require) {
|
147
|
+
$(document).ready(function() {
|
148
|
+
w2_timing.logTime('documentReady');
|
149
|
+
});
|
150
|
+
$(window).load(function() {
|
151
|
+
var timing = w2_timing.timing;
|
152
|
+
w2_timing.logTime('windowLoad');
|
153
|
+
|
154
|
+
timing.server_time = 38.18;
|
155
|
+
timing.window_id = "dep3801-4129394825469221042"; });});
|
156
|
+
|
157
|
+
var timing = require("w2.timing").timing;
|
158
|
+
timing.page = 38.18;
|
159
|
+
timing.request = 44.19;} }); </script><div id="tw-root"><script async="" src="//platform.twitter.com/widgets.js"></script></div><div id="fb-root" class=" fb_reset"><script async="" src="//connect.facebook.net/en_US/all.js"></script><div style="position: absolute; top: -10000px; height: 0px; width: 0px;"><div></div></div><div style="position: absolute; top: -10000px; height: 0px; width: 0px;"><div><iframe name="fb_xdm_frame_https" frameborder="0" allowtransparency="true" scrolling="no" id="fb_xdm_frame_https" aria-hidden="true" title="Facebook Cross Domain Communication Frame" tabindex="-1" src="https://s-static.ak.facebook.com/connect/xd_arbiter/7r8gQb8MIqE.js?version=41#channel=f3a5a4ae8&origin=https%3A%2F%2Fwww.quora.com" style="border: none;"></iframe></div></div></div><iframe name="oauth2relay642130170" id="oauth2relay642130170" src="https://accounts.google.com/o/oauth2/postmessageRelay?parent=https%3A%2F%2Fwww.quora.com#rpctoken=696027517&forcesecure=1" tabindex="-1" style="width: 1px; height: 1px; position: absolute; top: -100px;"></iframe><iframe src="https://accounts.google.com/o/oauth2/auth?immediate=true&client_id=917071888555.apps.googleusercontent.com&cookiepolicy=http%3A%2F%2Fquora.com&scope=email+profile&include_granted_scopes=true&proxy=oauth2relay642130170&redirect_uri=postmessage&origin=https%3A%2F%2Fwww.quora.com&response_type=token&state=666025027%7C0.2671930508&authuser=0" style="width: 1px; height: 1px; position: absolute; top: -100px;"></iframe></body></html><!--perf-->
|
data/spec/quora_spec.rb
CHANGED
@@ -1,5 +1,37 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
browser = $browser
|
4
|
+
|
5
|
+
RSpec.configure do |config|
|
6
|
+
config.before(:all) { @browser = Watir::Browser.new(*$browser_params) }
|
7
|
+
config.after(:all) { @browser.close unless @browser.nil? }
|
8
|
+
end
|
9
|
+
|
10
|
+
context "when quora.com is accessed" do
|
11
|
+
before(:all) do
|
12
|
+
@browser.goto @browser.quora.base_url
|
13
|
+
end
|
14
|
+
|
15
|
+
context "the text" do
|
16
|
+
subject { @browser.text }
|
17
|
+
it { is_expected.not_to be_empty }
|
18
|
+
it { is_expected.to include("Sign up to read Quora") }
|
19
|
+
end
|
20
|
+
|
21
|
+
context "add question div" do
|
22
|
+
subject { @browser.quora.get_add_question_div }
|
23
|
+
it { is_expected.not_to exist }
|
24
|
+
end
|
25
|
+
|
26
|
+
context "login box" do
|
27
|
+
subject { @browser.quora.get_login_email_text }
|
28
|
+
it { is_expected.to exist }
|
29
|
+
|
30
|
+
subject { @browser.quora.get_login_password_text }
|
31
|
+
it { is_expected.to exist }
|
32
|
+
|
33
|
+
subject { @browser.quora.get_login_submit_button }
|
34
|
+
it { is_expected.to exist }
|
4
35
|
end
|
36
|
+
|
5
37
|
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
require 'quora-webdriver'
|
3
|
+
|
4
|
+
if ENV['TRAVIS']
|
5
|
+
puts "TRAVIS testing..."
|
6
|
+
username = ENV["SAUCE_USERNAME"]
|
7
|
+
access_key = ENV["SAUCE_ACCESS_KEY"]
|
8
|
+
|
9
|
+
browser, version, os = ENV['BROWSER'].split(':')
|
10
|
+
|
11
|
+
# set up browser
|
12
|
+
capabilities = Selenium::WebDriver::Remote::Capabilities.send(browser)
|
13
|
+
# add version and os
|
14
|
+
capabilities["version"] = version
|
15
|
+
capabilities["platform"] = os
|
16
|
+
|
17
|
+
# help identify a job
|
18
|
+
capabilities["tunnel-identifier"] = ENV["TRAVIS_JOB_NUMBER"]
|
19
|
+
# and add extra details
|
20
|
+
capabilities["name"] = "Travis ##{ENV['TRAVIS_JOB_NUMBER']}"
|
21
|
+
capabilities["build"] = ENV["TRAVIS_BUILD_NUMBER"]
|
22
|
+
capabilities["tags"] = [ENV["TRAVIS_RUBY_VERSION"], "CI"]
|
23
|
+
|
24
|
+
hub_url = "http://#{username}:#{access_key}@localhost:4445/wd/hub"
|
25
|
+
browser_params = [
|
26
|
+
:remote,
|
27
|
+
:url => hub_url,
|
28
|
+
:desired_capabilities => capabilities]
|
29
|
+
else
|
30
|
+
browser_params = [:chrome]
|
31
|
+
end
|
32
|
+
|
33
|
+
$browser_params = browser_params
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quora-webdriver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Giordon Stark
|
@@ -112,7 +112,9 @@ files:
|
|
112
112
|
- lib/quora-webdriver/quora.rb
|
113
113
|
- lib/quora-webdriver/version.rb
|
114
114
|
- quora-webdriver.gemspec
|
115
|
+
- spec/quora_login.html
|
115
116
|
- spec/quora_spec.rb
|
117
|
+
- spec/spec_helper.rb
|
116
118
|
homepage: https://github.com/kratsg/quora-webdriver
|
117
119
|
licenses:
|
118
120
|
- MIT
|
@@ -138,4 +140,6 @@ signing_key:
|
|
138
140
|
specification_version: 4
|
139
141
|
summary: Interact with Quora via Command Line
|
140
142
|
test_files:
|
143
|
+
- spec/quora_login.html
|
141
144
|
- spec/quora_spec.rb
|
145
|
+
- spec/spec_helper.rb
|