Python selenium webdriver select href select 部分文本

Python selenium webdriver select href select partial text

我在 Ubuntu 20.04 上使用 Python 3.8.5。在 chrome 上使用 selenium webdriver,我想通过指定此元素中包含的 licenceId 编号 (1467250) 下载附件:

<a xmlns="http://www.w3.org/1999/xhtml" href="#" onclick="if(typeof jsfcljs == 'function'){jsfcljs(document.forms['myApplicationsResultsForm'],'myApplicationsResultsForm:searchResultsTable:0:j_id339:0:j_id340,myApplicationsResultsForm:searchResultsTable:0:j_id339:0:j_id340,licenceId,1467250,statusHistoryId,2600790,fileName,ROL_1467250_20200817-142839.pdf,attachmentType,ROL','');}return false" class="pageLink"><img src="/oplinc2/images/pdf.jpg" alt="ROL_1467250_20200817-142839.pdf" height="24" style="border-width: 0px;" title="ROL_1467250_20200817-142839.pdf" width="24" /></a>

我可以通过点击 css_selector 下载这个 link:

pdf = driver.find_element_by_css_selector('#myApplicationsResultsForm\:searchResultsTable\:0\:j_id335 > a')

pdf.click()

我能否使用元素中的部分文本来定位和下载附件,例如。 licenceID, 1467250?这些附件有很多。我尝试了部分文本示例 from the docs 但这对我不起作用:

>>> driver.find_element_by_partial_link_text('1467250')

NoSuchElementException: Message: no such element: Unable to locate element: {"method":"partial link text","selector":"1467250"}

编辑 这个问题类似于@Ajay link to 除了这个元素有稍微不同的 href。仍然不确定如何访问 onclick

试试这个

links = driver.find_elements_by_partial_link_text('https://websites.com/activation.php?a=act')

for link in links:
    print(link.get_attribute("href"))
driver.find_element_by_xpath('//*[contains(@onclick, "1467250")]')

* 替换 a 找到元素。