- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试用 Python 制作一个机器人来完成 codecademy 类(class)并尽快填写所有类(class),因为我们必须为高中类(class)完成它们,而我一直在使用 Python 和 Mechanize 来完成它。我已经填写了我认为是这个程序的基础知识,我必须填写的是具体的类(class)细节,但我一直遇到同样的错误
File "codecademy.py", line 11, in <module>
br.open(codecademy) #opens codecademy
File "build/bdist.macosx-10.10-intel/egg/mechanize/_mechanize.py", line 203, in open
File "build/bdist.macosx-10.10-intel/egg/mechanize/_mechanize.py", line 216, in _mech_open
mechanize._mechanize.BrowserStateError: can't fetch relative reference: not viewing any document
try:
import mechanize #tries to import mechanize
except ImportError: #if cant import mechanize
print 'Oops. It seems as if you do not have mechanize installed'
codecademy = 'www.codecademy.com' #stores codecademy link as a variable
codecademySI = 'http://www.codecademy.com/sign_in' #codecademy sign in link
codecademyJS = 'http://www.codecademy.com/courses/getting-started-v2/0/1?curriculum_id=506324b3a7dffd00020bf661' #Javascript link
br = mechanize.Browser() #make a mechanize browser object, acts as virtual browser, emulator
br.open(codecademy) #opens codecademy
signing up
def signUp(username, password, email):
br.select_form(nr=0) #selects first form on the page
br["user[email]"] = email #sets value of email field to whatever user entered
br["user[password]"] = password #sets value of username field to whatever user entered
br["user[username]"] = username #sets value of password field to whatever user entered
submittionResult = br.submit() #submits data entered above
def logIn(username, password):
br.open(codecademySI) #opens codecademy
br.select_form('sign-in-form')#finds login button
br.form ['q'] = query
br.submit()#clicks login button
br["user[login]"] = username #sets value of email/username field to whatever user entered
br["user[password]"] = password #sets value of password field to whatever user entered
submittionResult = br.submit() #submits data entered above, local so doesn't override other Submittion Result
def _JS():
br.open(codecamedyJS)
#ace_text-input ui-inited
js = 1
if(js == 1):
br["ace_text-input ui-inited"] = '"Name"'
js =+ 1
elif(js == 2):
br["ace_text-input ui-inited"] = '"Name".length'
js =+ 1
elif(js == 3):
br["ace_text-input ui-inited"] = '3 + 4'
js =+ 1
elif(js == 4):
br["ace_text-input ui-inited"] = '4 * 4'
js =+ 1
elif(js == 5):
br["ace_text-input ui-inited"] = 'eggplant'
js =+ 1
elif(js == 6):
br["ace_text-input ui-inited"] = '"cake".length'
js =+ 1
elif(js == 7):
br["ace_text-input ui-inited"] = 'confirm("This is an example of using JS to create some interaction on a website. Click OK to continue!");'
js =+ 1
elif(js == 8):
br["ace_text-input ui-inited"] = 'confirm("I fell awesome!")'
js =+ 1
elif(js == 9):
br["ace_text-input ui-inited"] = 'prompt("What is your name?");'
js =+ 1
elif(js == 10):
br["ace_text-input ui-inited"] = '"string with words".length'
js =+ 1
elif(js == 11):
br["ace_text-input ui-inited"] = '"Im coding like a champ".length'
js =+ 1
#browser.form = list(browser.forms())[0] #find form with no name
br.select_form('ui-button ui-button--medium ui-button--blue--on-dark ui-loading js-submit-code')
br.form ['q'] = query
br.submit()
#signUp(russ999999, PASSWORD, russ9@optonline.net)
logIn(russ99999, PASSWORD)
最佳答案
您可能会为此而自责,但您需要在 URL 中包含该方案,即 http
.尝试改变
codecademy = 'www.codecademy.com'
codecademy = 'http://www.codecademy.com'
关于python - 这个错误对 python 中的 Mechanize 意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27392353/
我正在使用 mechanize python 登录网站 combochat2.us用户名 mask3和密码findnext ,但它显示了“没有找到 Mechanize 模块”之类的错误 import
我在我的 rails 应用程序中使用 gem mechanize 来抓取网页数据。 我这样使用它: agent = Mechanize.new document = agent.get("http:/
我正在学习机械。我正在尝试打开一个文本文件,您点击的链接显示 文本 (.prn)我遇到的一个问题是此页面上只有 1 个表单,并且该文件不在表单中。对我来说另一个问题是此页面上有几个文本文件,但它们都具
def return_with_soup(url): #uses mechanize to tell the browser we aren't a bot #and to retri
我正在开发一个项目,使用 python 和 Mechanize 。我有个问题 : Mechanize 返回的页面,有不是的 URLS Mechanize ,如果用户点击它,他们将通过链接 他们自己计算
问题: 解析网站时,有些字符会导致 Mechanize 无法正确解析。 提出的解决方案 解析来自网站的响应以删除这些字符 在 Mechanize 之前尝试解析它。 或者,在 Mechanize 解析网
有一个public class method将字段添加到 Mechanize 表单 我试过了.. #login_form.field.new('auth_login','Login') #login_
我有一些看起来像这样的东西: def self.foo agent = Mechanize.new form = agent.get("link/to/form/url") form.f
我在使用 Mechanize gem 时遇到问题,如何转换 Mechanize::文件 进入 Mechanize::页面 , 这是我的一段代码: **link** = page.link_with(:
我正在尝试抓取一个只能依靠类和元素层次结构来找到正确节点的站点。但是使用 Mechanize::Page#search 返回 Nokogiri::XML::Element,我不能用它来填写和提交表单等
我正在使用 mechanize 来抓取一些网页。 我需要知道什么是 Mechanize 限制? Mechanize 不能做什么? 它可以执行网页中嵌入的javascripts吗? 我可以用它来调用 j
在 WWW::Mechanize 中使用表单方法 my @form = $mech->form_number(1); foreach my $sum_form ( @form ) {
找到以下 HTML 代码: 如何使用 Mechanize 单击没有 id 和 name 的提交按钮? 最佳答案 我已经找到了此类场景的答案,代码如下: agent = Mechanize.new
这个问题不太可能对 future 的访客有帮助;它只与一个小的地理区域、一个特定的时刻或一个非常狭窄的情况相关,通常不适用于互联网的全局受众。如需帮助使这个问题更广泛地适用,visit the hel
我一直在尝试使用以下方法从终端运行 ruby 文件: ruby file_cleanse_auto.rb 但是我从 mechanize 得到一个错误: /Library/Ruby/Site/2.0
这是我拥有的代码: agent = Mechanize.new page = agent.get 'http://google.com' page.save 'google_index.htm' 我怎
for link in br.links(url_regex="inquiry-results.jsp"): cb[link.url] = link for page_link in cb.v
我有一个登录表单的页面。登录后有一些重定向。第一个看起来像这样: #"no-cache=\"set-cookie\"", "content-length"=>"114", "set-cookie"=>
我正在尝试使用基本身份验证访问 API。它适用于 HTTParty,但不适用于 2.7.6 Mechanize。 这是我尝试过的: agent = Mechanize.new agent.log =
我正在尝试使用 Ruby 的 Mechanize gem 提交表单。此表单有一组名为“KeywordType”的单选按钮。各个按钮的名称类似于 rdoAny、rdoAll 和 rdoPhrase。使用
我是一名优秀的程序员,十分优秀!