Я искал и пытался найти способ щелкнуть ссылку в селене, которая соответствует регулярному выражению.Нажав ссылки regexp в python 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")
Однако если поиск по различным идентификаторам ссылка-текст будет отличаться, но всегда совпадает с регулярным выражением 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-_]*')
Но никто из них не похож на работу на всех. Какие-либо предложения?
EDIT:
Таким образом, после комментариев в ответ ниже: щелкнули деталь на самом деле изображение с идентификатором = linkout-иконкой-неизвестному-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.
Правильная идея, но мне нужно регулярное выражение, так как я собираюсь взять их из списков поиска. Для разных поисков мне нужно сопоставить разные ссылки. – JudoWill