2016-02-28 5 views
0

Так я получил этот HTML с веб-сайта:Нажмите кнопку HREF с селеном (PhantomJS) и питона

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" dir="rtl" lang="he" id="vbulletin_html"> 
 
<head> 
 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
 
<meta id="e_vb_meta_bburl" name="vb_meta_bburl" content="http://www.fxp.co.il" /> 
 
<meta http-equiv="X-UA-Compatible" content="IE=9"/> 
 
<base href="//www.fxp.co.il" /><!--[if IE]></base><![endif]--> 
 
<link rel="canonical" href="http://www.fxp.co.il/login.php?do=login" /> 
 
<link rel="shortcut icon" href="//images.fxp.co.il/images3/fav.png"> 
 
<meta name="generator" content="vBulletin 4.2.2" /> 
 
<meta name="keywords" content="FXP,פורום,פורומים,fxp,משחקים,סרטים,כיף,רשת,מחשבים,הורדות,הורדה,סרגל כלים,בדיקת IP,העלאת תמונות" /> 
 
<meta name="description" content="מחפשים אתר פורומים ? אתר FXP מכיל קהילות פורומים, משחקים, תמונות גולשים ועוד. הכנסו עכשיו אל קהילות הפורומים של FXP" /> 
 
<meta property="fb:app_id" content="415294715208536" /> 
 
<meta property="og:site_name" content="FXP" /> 
 
<meta property="og:description" content="מחפשים אתר פורומים ? אתר FXP מכיל קהילות פורומים, משחקים, תמונות גולשים ועוד. הכנסו עכשיו אל קהילות הפורומים של FXP" /> 
 
<meta property="og:url" content="http://www.fxp.co.il" /> 
 
<meta property="og:type" content="website" /> 
 
<link rel="stylesheet" type="text/css" href="//images.fxp.co.il/css_static_main/main_fxp_20.2.14.css?v=7.11" /> 
 
<link href="//www.fxp.co.il/clientscript/awesome/css/font-awesome.min.css" rel="stylesheet"> 
 
<script type="text/javascript" src="//images.fxp.co.il/clientscript/yui-2.9.js"></script> 
 
<script type="text/javascript"> 
 
<!-- 
 
var SESSIONURL = ""; 
 
var SECURITYTOKEN = "1456672267-7067c7f37055c9dd77a4fa83ba3b7b6f316c82b1"; 
 
var IMGDIR_MISC = "//images.fxp.co.il/images_new/misc"; 
 
var IMGDIR_BUTTON = "//images.fxp.co.il/images_new/buttons"; 
 
var vb_disable_ajax = parseInt("0", 10); 
 
var SIMPLEVERSION = "4116"; 
 
var BBURL = "http://www.fxp.co.il"; 
 
var LOGGEDIN = 1152224 > 0 ? true : false; 
 
var THIS_SCRIPT = "login"; 
 
var RELPATH = "login.php?do=login"; 
 
var PATHS = { 
 
forum : "", 
 
cms : "", 
 
blog : "" 
 
}; 
 
var AJAXBASEURL = "http://www.fxp.co.il/"; 
 

 
//var AJAXBASEURL = "//www.fxp.co.il/"; 
 

 
// --> 
 
</script> 
 
<script type="text/javascript" src="//images.fxp.co.il/clientscript/vbulletin-core.js"></script> 
 
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
 
<script type="text/javascript" src="//images.fxp.co.il/css_static_main/jquery.cookie_new.js"></script> 
 
<script type="text/javascript"> 
 
$(document).ready(function(){ 
 
$("#ajax").load('notifc.php?userid=1152224'); 
 
$("#noti").click(function() { 
 
$("#ajax").load('notifc.php?userid=1152224'); 
 
}); 
 
$("#ajax_likes").load('likesno.php?userid=1152224'); 
 
$("#noti_like").click(function() { 
 
$("#ajax_likes").load('likesno.php?userid=1152224'); 
 
}); 
 
}); 
 
</script> 
 
<script type="text/javascript" src="//images.fxp.co.il/clientscript/set.js?v=6.5"></script> 
 
<script type="text/javascript" src="//images.fxp.co.il/clientscript/lazyload.js"></script> 
 
<script type="text/javascript"> 
 
$(function() { 
 
if (getCookie_bar('bbc_lazyload_fxp') != '1') { 
 
$(".postbody img").lazyload({placeholder : "clear.gif", effect: "fadeIn"}); 
 
} 
 
}); 
 
</script> 
 
<script type="text/javascript" src="//images.fxp.co.il/advertising/ads.js"></script> 
 
<script type="text/javascript" src="//images.fxp.co.il/skinfxp/s.php"></script> 
 
<title>FXP</title> 
 
<script type="text/javascript"> 
 
var forumname = ""; 
 
var fxpcategory = "none"; 
 
</script> 
 
<script type='text/javascript'>DY = {scsec : 8765235 ,API: function(){(DY.API.actions = DY.API.actions || []).push(arguments)}};</script> 
 
<script type='text/javascript' src='//dy2.ynet.co.il/scripts/8765235/api_static.js'></script> 
 
<script type='text/javascript' src='//dy2.ynet.co.il/scripts/8765235/api_dynamic.js'></script> 
 
<script type="text/javascript"> 
 

 
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 
 
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 
 
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
 
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 
 

 
    ga('create', 'UA-598971-1', 'auto'); 
 
    ga('require', 'displayfeatures'); 
 
    ga('send', 'pageview'); 
 

 
</script> 
 
<script type="text/javascript"> 
 
ga('set', 'dimension1', 'Registered'); 
 
</script> 
 
</head> 
 
<body> 
 
<div class="standard_error"> 
 
<form class="block vbform" method="post" action="http://www.fxp.co.il/" name="postvarform"> 
 
<h2 class="blockhead">מעביר...</h2> 
 
<div class="blockbody formcontrols"> 
 
<p class="blockrow restore">התחברת בהצלחה, Copy_Pasta.</p> 
 
</div> 
 
<div class="blockfoot actionbuttons redirect_button"> 
 
<div class="group" id="redirect_button"> 
 
<a href="http://www.fxp.co.il/" class="textcontrol">לחץ כאן אם הדפדפן אינו מעביר אותך אוטומטית</a> 
 
</div> 
 
</div> 
 
</form> 
 
</div> 
 
<noscript> 
 
<meta http-equiv="Refresh" content="2; URL=http://www.fxp.co.il/" /> 
 
</noscript> 
 
<script type="text/javascript"> 
 
<!-- 
 
function exec_refresh() 
 
{ 
 
\t window.status = "מעביר..." + myvar; 
 
\t myvar = myvar + " ."; 
 
\t var timerID = setTimeout("exec_refresh();", 100); 
 
\t if (timeout > 0) 
 
\t { 
 
\t \t timeout -= 1; 
 
\t } 
 
\t else 
 
\t { 
 
\t \t clearTimeout(timerID); 
 
\t \t window.status = ""; 
 
\t \t window.location = "http://www.fxp.co.il/"; 
 
\t } 
 
} 
 

 
var myvar = ""; 
 
var timeout = 20; 
 
exec_refresh(); 
 
//--> 
 
</script> 
 
</body> 
 
</html>

страница выше предполагается перенаправить на другую страницу. Я хочу нажать кнопку, которая перенаправляет вас немедленно, если вы нажмете ее.

It's this button if anyone's wondering

Это соответствующий код:

def login_and_redirect(): 
    #login into the site 
    usrnm=raw_input("Please enter your username: ") 
    pswrd=raw_input("Please enter your password: ") 
    print("Logging in, please stand by...") 
    driver.find_element_by_id("navbar_username").send_keys(usrnm) 
    driver.find_element_by_id("navbar_password_hint").click() 
    driver.find_element_by_id("navbar_password").send_keys(pswrd) 
    driver.find_element_by_id("navbar_password").submit() 
    #redirect to another page in the site after logging in 
    driver.get("http://www.fxp.co.il/forumdisplay.php?f=236") 

по какой-то странной причине функция застревает и phantomJS не beign перенаправлен на URL я хотел его. Я предполагаю, что это из-за страницы перенаправления, поэтому я пытаюсь обойти это, нажав кнопку. я был бы признателен за любую помощь, спасибо :)

ответ

0

Вы можете попробовать ниже XPaths нажать на эту перенаправлять кнопку

//div[@id='redirect_button']/a 

    or 

//a[@href='http://www.fxp.co.il/'] 

Из курса вы можете также использовать селектор CSS здесь ..

Спасибо, Murali

+0

Я уже пробовал это, я думаю, что это что-то связанное с PhantomJS, потому что мой код работает отлично на firefox. – itailitai

+0

это поможет вам http://stackoverflow.com/questions/13536752/phantomjs-click-a-link-on-a-page –

+0

Это javascript, хотя я использую python. – itailitai

Смежные вопросы