quora-webdriver 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 [](https://travis-ci.org/kratsg/quora-webdriver) [](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
|