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
找到元素。
我在 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 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
找到元素。