当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Selenium Python find_element_by_xpath()用法及代码示例


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-driver-method-Selenium-Python
终端输出-
terminal-output-find_element-method-Python-selenium

更多用于定位单个元素的定位器

定位器 描述
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选择器的第一个元素将被返回。




相关用法


注:本文由纯净天空筛选整理自NaveenArora大神的英文原创作品 find_element_by_xpath() driver method – Selenium Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。