gpt4 book ai didi

python - 在 python selenium 中单击正则表达式的链接

转载 作者:太空宇宙 更新时间:2023-11-03 11:35:47 24 4
gpt4 key购买 nike

我一直在四处寻找并试图找到一种方法来点击 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-_]*')

但它们似乎都不起作用。有什么建议吗?

编辑:

所以在下面的答案中发表评论后:点击的项目实际上是一张带有 id=linkout-icon-unknown-viro_full 的图像。完整行如下:

<a href="http://vir.sgmjournals.org/cgi/pmidlookup?view=long&amp;pmid=20032207" ref="PrId=3051&amp;itool=Abstract-def&amp;uid=20032207&amp;nlmid=0077340&amp;db=pubmed&amp;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 记录器中获取了代码。

最佳答案

sel.click 可以将 XPath 作为参数。使用 Firebug我发现(我相信是)“linkout-icon-unknown-vir_full”链接的 XPath:

sel.click("//*[@id='linkout-icon-unknown-vir_full']")

使用上面的命令将我带到 this page .


我无法让 matches 工作——我不确定为什么——但这似乎可以使用 contains :

sel = selenium.selenium("localhost", 4444, "*firefox", "http://www.ncbi.nlm.nih.gov/")
sel.start()
sel.open('/pubmed')
sel.type("search_term", "20032207[uid]")
sel.click("search")
sel.wait_for_page_to_load(30000)
sel.click("//*[contains(@id,'linkout')]")

关于python - 在 python selenium 中单击正则表达式的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3865678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com