【发布时间】:2011-04-21 09:49:26
【问题描述】:
我一直在环顾四周,试图找到一种方法来单击 selenium 中与正则表达式匹配的链接。
这是有效的代码;
from selenium import selenium
sel = selenium("localhost", 4444, "*chrome", "http://www.ncbi.nlm.nih.gov/")
sel.start()
sel.open('/pubmed')
sel.type("search_term", "20032207[uid]")
sel.click("search")
sel.click("linkout-icon-unknown-vir_full")
但是,如果我搜索不同的 ID,链接文本会有所不同,但它始终与正则表达式 linkout-icon[\w-_]* 匹配。
但我似乎找不到正确的命令来单击与正则表达式匹配的链接...我试过了:
sel.click('link=regex:linkout-icon[\w-_]*')
sel.click('regex:linkout-icon[\w-_]*')
sel.click('link=regexp:linkout-icon[\w-_]*')
sel.click('regexp:linkout-icon[\w-_]*')
但它们似乎都不起作用。有什么建议吗?
编辑:
所以在 cmets 在下面的答案之后:点击的项目实际上是一个 id=linkout-icon-unknown-viro_full 的图像。整行如下:
<a href="http://vir.sgmjournals.org/cgi/pmidlookup?view=long&pmid=20032207" ref="PrId=3051&itool=Abstract-def&uid=20032207&nlmid=0077340&db=pubmed&log$=linkouticon" target="_blank"><img alt="Click here to read" id="linkout-icon-unknown-vir_full" border="0" src="http://www.ncbi.nlm.nih.gov/corehtml/query/egifs/http:--highwire.stanford.edu-icons-externalservices-pubmed-standard-vir_full.gif" /></a> </div>
如果您想知道我从 Selenium IDE 记录器中获得了代码。
【问题讨论】: