当前位置:首页>python>Python3+Selenium:元素定位

Python3+Selenium:元素定位

  • 2026-10-11 07:43:03
Python3+Selenium:元素定位
PART 01
id 定位
  • 标签的 id 具有唯一性,就像人的身份证

```pythondriver.find_element_by_id("id")```
PART 02
name 定位
  • name 指定标签的名称,在页面中可以不唯一。

```pythondriver.find_element_by_name("name")```
PART 03
class 定位
  • class 指定标签的类名,在页面中可以不唯一

```pythondriver.find_element_by_class_name("s_form_wrapper")```
PART 04
tag 定位
  • 每个 tag 往往用来定义一类功能,所以通过 tag 来识别某个元素的成功率很低,每个页面一般都用很多相同的 tag ,比如:<div>、<input> 等。

```pythondriver.find_element_by_tag_name("div")```
PART 05
xpath 定位
  • xpath 是一种在 XML 文档中定位元素的语言,它拥有多种定位方式

```python# 1>利用元素属性定位driver.find_element_by_xpath("//*[@id='kw']")# 2>绝对路径(层级关系)定位driver.find_element_by_xpath("/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input")# 3>层级+元素属性定位driver.find_element_by_xpath("//div[@id='wrapper']/div[1]/div[5]/div/div/form/span[1]/input")# 4>逻辑运算符定位driver.find_element_by_xpath("//*[@id='kw' and @name='wd']")```
PART 06
css 定位
  • CSS 使用选择器来为页面元素绑定属性,它可以较为灵活的选择控件的任意属性,一般定位速度比 xpath 要快,但使用起来略有难度。

```python# 1> #id:选择对应id的元素driver.find_element_by_css_selector("#kw")# 2>.class:选择所有使用该class的元素driver.find_element_by_css_selector(".s_form_wrapper")# 3>element:选择所有 <element\> 元素driver.find_element_by_css_selector("input")# 4>element>element:比如div>input,选择父元素为 <div\> 的所有 <input\> 元素driver.find_element_by_css_selector("span>input")# 5>element+element:比如div+input,选择同一级中在 <div\> 之后的所有 <input\> 元素driver.find_element_by_css_selector("span+input")# 6>[attribute=value]:比如type='text',选择 type = 'text' 的所有元素driver.find_element_by_css_selector("[type='submit']")```
PART 07
link 定位
  • link 专门用来定位文本链接

```pythondriver.find_element_by_link_text("新闻")```
PART 08
partial_link 定位
  • partial_link 翻译过来就是“部分链接”,对于有些文本很长,这时候就可以只指定部分文本即可定位

```pythondriver.find_element_by_partial_link_text("新")```

最新文章

随机文章