2012-06-20 60 views
0

我正在用python编写一个脚本使用硒铬的webdriver,我想点击一个链接。链接本身是:使用硒点击一个链接隐藏的内容替换硒xpath

A HREF =“JavaScript的:contentReplace('/的cgi-bin /的Ssol/9PGaiwzaxu43ZaLXZ8mAix/P%.5Fr%.5Fid = a5UAMSbnZrZMIowCvr5gzh & P%.5Ft%.5Fid = 1 & TRAN% .5B1%.5D%.5Fentry =学生& TRAN%.5B1%.5D%.5Ftran%.5Fname = SREG')“>注册/ A>

(I脱下链接件的开口<所以以便能够在浏览器中显示代码而不是文本)

我找不到它使用find_element_by_link_text - 它不断抛出一个错误 - 所以我尝试使用xpath。我用firebug来获取xpath,它是:“/ html/body/table/tbody/tr [2]/td [2]/table/tbody/tr [2]/td/ul/li/ul/li [10] /一种 “

但是,当我做 链路= driver.find_element_by_xpath(” // HTML /体/表/ tbody的/ TR [2]/TD [2]/TA \ BLE/TBODY/TR [2]/TD/UL/LI/UL /李[10]/A“)

我得到一个错误 ”的urlopen错误[错误61]连接被拒绝“

不知道什么是错的,因为xpath在firebug中工作。

回答

0

尝试

driver.find_element_by_link_text("Registration").click() 

你为什么不能录制脚本硒IDE?当你点击它时,它会直接将xpath添加到链接。

如果你想要的代码,然后张贴链接到网页你在哪里点击link。这样就很容易给出答案。

+0

我刚刚在Selenium IDE中记录了这个脚本,它的效果很好 - 问题在于,即使使用了它的xpaths,我的python脚本仍然会得到上面提到的错误。 例如,ide给我:// table [@ id ='MainMenu']/tbody/tr [2]/td/ul/li/ul/li [10]/a 作为xpath,所以我有写成 link = driver.find_element_by_xpath(“// table [@ id ='MainMenu']/tbody/tr [2]/td \ /ul/li/ul/li [10]/a”),但它表示连接拒绝了。 我会将链接发布到网页,但它是一个安全的页面,需要登录信息才能到达。 – user1136497