【发布时间】:2019-10-29 08:57:41
【问题描述】:
我正在尝试在 python 中使用 selenium 单击此链接:
<header class="row package-collapse">
<h5 ng-bind="ctrl.getPackageHeader(package)" class="ng-binding">Package "1" - not yet downloaded</h5>
<!-- ngIf: package.DownloadedAt -->
</header>
在尝试了许多不同的替代方案之后,我终于通过遍历链接直到找到正确的文本来实现这一点,如下所示:
list = browser.find_elements_by_tag_name("h5")
for item in list:
text = item.text
if text == 'Package "1" - not yet downloaded':
item.click()
好的,所以,它有效。但是,如果我只是尝试明显的解决方案,为什么我会得到“无法定位元素”的错误:
browser.find_element_by_link_text('Package "1" - not yet downloaded')
它就在那里,我正在看它,所以我只是不明白我做错了什么。我也尝试过使用部分链接文本在没有“1”的情况下搜索它,使用单引号或双引号,但我仍然得到“无法定位元素”。没有框架,没有打开新窗口或任何东西。
是的,我发布这个是因为我是新手,不知道我在做什么,所以不需要详细说明这一点,谢谢。 :)
【问题讨论】:
标签: python selenium selenium-webdriver linktext partiallinktext