Selenium的Python模塊旨在通過Python執行自動測試。 Selenium Python綁定提供了一個簡單的API,可以使用Selenium WebDriver編寫函數/驗收測試。安裝selenium並簽出後-使用get方法導航鏈接,您可能想使用Selenium Python玩更多遊戲。在使用硒(例如geeksforgeeks)打開頁麵後,您可能想要自動單擊某些按鈕或自動填寫表單或執行任何此類自動任務。本文討論了如何使用Seleium Web Driver的定位策略來捕獲或定位網頁中的元素。進一步來說,find_element_by_xpath()
本文討論。
XPath是用於在XML文檔中定位節點的語言。由於HTML可以是XML(XHTML)的實現,因此Selenium用戶可以利用這種強大的語言來定位Web應用程序中的元素。 XPath擴展了(同時支持)通過id或name屬性進行定位的簡單方法,並開辟了各種新的可能性,例如在頁麵上定位了第三個複選框。
driver.find_element_by_xpath("xpath")
範例-
例如,考慮以下頁麵來源:
<html>
<body>
<form id="loginForm">
<input name="username" type="text" />
<input name="password" type="password" />
<input name="continue" type="submit" value="Login" />
</form>
</body>
<html>
現在,在創建驅動程序之後,您可以使用-捕獲元素
login_form = driver.find_element_by_xpath("/html/body/form[1]") login_form = driver.find_element_by_xpath("//form[1]")
如何在Selenium中使用driver.find_element_by_xpath()方法?
讓我們嘗試實際實現此方法,並獲取“https://www.geeksforgeeks.org/”的元素實例。讓我們嘗試使用nae “search”來獲取搜索表單輸入。創建一個名為run.py的文件以演示find_element_by_xpath方法-
# Python program to demonstrate
# selenium
# import webdriver
from selenium import webdriver
# create webdriver object
driver = webdriver.Firefox()
# enter keyword to search
keyword = "geeksforgeeks"
# get geeksforgeeks.org
driver.get("https://www.geeksforgeeks.org/")
# get element
element = driver.find_element_by_xpath("//form[input/@name ='search']")
# print complete element
print(element)
現在使用-
Python run.py
首先,它將打開帶有geeksforgeeks的firefox窗口,然後選擇元素並將其打印在終端上,如下所示。
瀏覽器輸出-
終端輸出-
更多用於定位單個元素的定位器
定位器 | 描述 |
---|---|
find_element_by_id | id屬性值與位置匹配的第一個元素將被返回。 |
find_element_by_name | 名稱屬性值與位置匹配的第一個元素將被返回。 |
find_element_by_xpath | xpath語法與位置匹配的第一個元素將被返回。 |
find_element_by_link_text | 鏈接文本值與位置匹配的第一個元素將被返回。 |
find_element_by_partial_link_text | 具有部分鏈接文本值與位置匹配的第一個元素將被返回。 |
find_element_by_tag_name | 具有給定標簽名稱的第一個元素將被返回。 |
find_element_by_class_name | 具有匹配的類屬性名稱的第一個元素將被返回。 |
find_element_by_css_selector | 具有匹配的CSS選擇器的第一個元素將被返回。 |
相關用法
- Selenium Python find_element_by_name()用法及代碼示例
- Selenium Python find_element_by_link_text()用法及代碼示例
- Selenium Python find_element_by_partial_link_text()用法及代碼示例
- Selenium Python find_element_by_tag_name()用法及代碼示例
- Selenium Python find_element_by_class_name()用法及代碼示例
- Selenium Python find_element_by_id()用法及代碼示例
- Selenium Python find_element_by_css_selector()用法及代碼示例
- Selenium Python find_elements_by_name()用法及代碼示例
- Selenium Python find_elements_by_xpath()用法及代碼示例
- Selenium Python find_elements_by_link_text()用法及代碼示例
- Selenium Python find_elements_by_partial_link_text()用法及代碼示例
- Selenium Python find_elements_by_tag_name()用法及代碼示例
- Selenium Python find_elements_by_class_name()用法及代碼示例
- Selenium Python find_elements_by_css_selector()用法及代碼示例
- Selenium Python add_cookie用法及代碼示例
- Selenium Python fullscreen_window用法及代碼示例
- Selenium Python execute_script用法及代碼示例
- Selenium Python execute_async_script用法及代碼示例
- Selenium Python get_cookies用法及代碼示例
- Selenium Python close用法及代碼示例
- Selenium Python create_web_element用法及代碼示例
- Selenium Python delete_all_cookies用法及代碼示例
- Selenium Python delete_cookie用法及代碼示例
注:本文由純淨天空篩選整理自NaveenArora大神的英文原創作品 find_element_by_xpath() driver method – Selenium Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。