Firefox - > PhantomJs登录到网站不工作 [英] Firefox -> PhantomJs Login to website not working

查看:174
本文介绍了Firefox - > PhantomJs登录到网站不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

由于某些原因,当我不能无头跑步时,我可以登录到 http://www.neighborhoodscout.com 。然而,当我运行无头PhantomJS我无法登录,它无法找到一个成功的登录时返回的元素。



Phantom JS 1.9.8版本

  driver = webdriver.PhantomJS ()
driver.set_window_size(1124,850)
driver.get(url)
time.sleep(2)
driver.find_element_by_id(login)。click()
time.sleep(2)
driver.find_element_by_id(user_email)。send_keys(username)
driver.find_element_by_id(user_password)。send_keys(password)
time。 sleep(4)
driver.find_element_by_id(login-button)。click()

为什么它对非无头工作,而不是为phantomjs工作?



没有回溯错误,只是由于某种原因无法登录?



我正在寻找一个特定的元素:

  ele_found = EC.presence_of_element_located(driver.find_element_by_id('flash_notice'))is not $ 


解决方案<

 导入时间$ b $ se from selenium import webdriver 
from selenium.webdriver.common.keys import keys

url ='http://www.neighborhoodscout.com/'
username ='abc@bcas.fulba.com'#change这里
password ='12345'#change this
driver = webdriver.PhantomJS(rC:\phantomjs.exe)
driver.set_window_size(1124,850)
driver.get(url)
time.sleep(2)
login = driver.find_element_by_xpath(// a [@ id ='login'])
login.click()
time.sleep(5)
usr = driver.find_element_by_xpath(// input [@ id ='user_email'and @ class ='input-text'])
passw = driver。 find_element_by_xpath(//输入[@ id ='user_password'和@cl驴='input-text'])
logbtn = driver.find_element_by_xpath(//输入[@ id ='login-button'和@ class ='btn'])
usr.send_keys (用户名)
passw.send_keys(密码)
logbtn.click()

time.sleep(4)

if / users / sign_out 'in driver.page_source:
printLogged In
driver.close()


For some reason when I don't run headless I am able to log into http://www.neighborhoodscout.com. However when I run headless PhantomJS I am unable to login and it can't find an element it returns on success of a login.

Phantom JS version 1.9.8

driver = webdriver.PhantomJS()
driver.set_window_size(1124, 850)  
driver.get(url)
time.sleep(2)
driver.find_element_by_id("login").click()
time.sleep(2)
driver.find_element_by_id("user_email").send_keys(username)
driver.find_element_by_id("user_password").send_keys(password)
time.sleep(4)
driver.find_element_by_id("login-button").click()

Why does it work for non headless vs not work for phantomjs??

There is no traceback error, it just is unable to login for some reason?

I am looking for a specific element by doing:

ele_found=EC.presence_of_element_located(driver.find_element_by_id('flash_notice')) is not None

解决方案

Below code works well for me!

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

url = 'http://www.neighborhoodscout.com/'
username = 'abc@bcas.fulba.com'#change here
password = '12345'#change here
driver = webdriver.PhantomJS(r"C:\phantomjs.exe")
driver.set_window_size(1124, 850)  
driver.get(url)
time.sleep(2)
login = driver.find_element_by_xpath("//a[@ id='login']")
login.click()
time.sleep(5)
usr = driver.find_element_by_xpath("//input [@id='user_email' and @class='input-text']")
passw = driver.find_element_by_xpath("//input [@id='user_password' and @class='input-text' ]")
logbtn = driver.find_element_by_xpath("//input [@id='login-button' and  @class='btn']")
usr.send_keys(username)
passw.send_keys(password)
logbtn.click()

time.sleep(4)

if '/users/sign_out' in driver.page_source:
    print "Logged In"
driver.close()

这篇关于Firefox - &gt; PhantomJs登录到网站不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆