如何在 Selenium 中點選其 href 中包含指定子字串的連結?


我們可以在 Selenium webdriver 中點選其 href 中包含指定子字串的連結。有很多種方式來執行此操作。我們可以使用 find_element_by_partial_link_text() 方法點選包含子字串的連結。

find_element_by_partial_link_text() 方法用於透過在錨標記中與方法引數中指定的內容部分匹配來標識元素。如果沒有匹配的內容,將丟擲 NoSuchElementException。

語法 −

find_element_by_partial_link_text("Tutors")

我們還可以使用 CSS 選擇器透過 * 號來識別其 href 中包含子字串的元素。這被稱為萬用字元符號,意味著字串包含某個子字串。

語法 −

find_element_by_css_selector("a[href*"='tutor'] ")

讓我們嘗試使用此子字串概念來標識上述 html 程式碼中的 Net Meeting 連結。

示例

帶 find_element_by_partial_link_text() 的程式碼實現。

from selenium import webdriver
driver = webdriver.Chrome (executable_path="C:\chromedriver.exe")
# implicit wait for 5 seconds
driver.implicitly_wait(5)
# maximize with maximize_window()
driver.maximize_window()
driver.get("https://tutorialspoint.tw/codingground.htm")
# identify element with partial link text and click()
l=driver.find_element_by_partial_link_text("Net")
l.click()
print("Page title after click on substring link name:" + driver.title)
driver.quit()

示例

帶 href 屬性的程式碼實現。

from selenium import webdriver
driver = webdriver.Chrome (executable_path="C:\chromedriver.exe")
# implicit wait for 5 seconds
driver.implicitly_wait(5)
# maximize with maximize_window()
driver.maximize_window()
driver.get("https://tutorialspoint.tw/codingground.htm")
# identify element with href attribute and click()
l= find_element_by_css_selector("a[href*"='net'] ")
l.click()
print("Page title after click on substring link name:" + driver.title)
driver.quit()

輸出

更新於:28-8-2020

2000+ 瀏覽

開始你的 職業

透過完成課程獲得認證

開始
廣告