Selenium Webdriver - 处理链接


Selenium 可用于处理页面上的链接。链接由锚标记表示。可以借助链接文本和部分链接文本等定位器来识别链接。

我们可以使用元素的链接文本属性来识别它,并利用 find_element_by_link_text 方法。这样,将返回与给定链接文本匹配的第一个元素。

处理链接的语法如下-

driver.find_element_by_link_text("value of link text")

我们还可以使用元素的部分链接文本属性进行识别,并使用 find_element_by_partial_link_text 方法。这样,返回具有给定部分链接文本的匹配值的第一个元素。

对于这两个定位器,如果不存在与部分链接文本/链接文本的匹配值的元素,则应抛出NoSuchElementException。

使用部分链接文本的语法如下-

driver.find_element_by_partial_link_text("value of partial ink text")

让我们看一下 webelement 的 html 代码,如下 -

网页元素

上图中突出显示的链接有一个标记名 - a 和部分链接文本 - Refund。让我们在识别后尝试点击这个链接。

代码实现

处理链接的代码实现如下 -

from selenium import webdriver
driver = webdriver.Chrome(executable_path='../drivers/chromedriver')
#url launch
driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
#identify link with partial link text
l = driver.find_element_by_partial_link_text('Refund')
#perform click
l.click()
print('Page navigated after click: ' + driver.title)
#driver quit
driver.quit()

输出

政策输出

输出显示消息 - Process with exit code 0 表示上述 Python 代码执行成功。此外,应用程序的页面标题(从 driver.title 方法获取) - 退货、退款和取消政策 - Tutorialspoint 也会打印在控制台中。

现在让我们看看另一个 webelement 的 html 代码 -

另一个网络元素

上图中突出显示的链接有一个标记名 - a 和链接文本 - 隐私政策。让我们在识别后尝试点击这个链接。

代码实现

处理链接的代码实现如下 -

from selenium import webdriver
driver = webdriver.Chrome(executable_path='../drivers/chromedriver')
#url launch
driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
#identify link with link text
l = driver.find_element_by_link_text('Privacy Policy')
#perform click
l.click()
print('Page navigated after click: ' + driver.title)
#driver quit
driver.quit()

输出

另一个 Webelement 输出

输出显示消息 - Process with exit code 0 表示上述 Python 代码执行成功。此外,应用程序的页面标题(从 driver.title 方法获取) - 关于Tutorials Point 的隐私政策 - Tutorialspoint 会打印在控制台中。