Selenium WebDriver提供By.CSS_SELECTOR定位元素方法
在Selenium WebDriver中,使用By.CSS\_SELECTOR定位元素是一种非常强大的方式。CSS 选择器是一种用来选择 HTML 元素的语言,它可以非常精确地指定目标元素。
以下是一些使用By.CSS\_SELECTOR定位元素的方法:
- 通过标签名定位元素:
element = driver.find_element(By.CSS_SELECTOR, "p")
- 通过类名定位元素:
element = driver.find_element(By.CSS_SELECTOR, ".classname")
- 通过ID定位元素:
element = driver.find_element(By.CSS_SELECTOR, "#idname")
- 通过属性定位元素:
element = driver.find_element(By.CSS_SELECTOR, "input[name='name']")
- 通过子元素定位元素:
element = driver.find_element(By.CSS_SELECTOR, "div > p")
- 通过直接子元素定位元素:
element = driver.find_element(By.CSS_SELECTOR, "div > :first-child")
- 通过元素内容定位元素:
element = driver.find_element(By.CSS_SELECTOR, "p:contains('text')")
- 通过元素的Nth-Child位置定位元素:
element = driver.find_element(By.CSS_SELECTOR, "p:nth-child(2)")
- 通过元素的Nth-Of-Type位置定位元素:
element = driver.find_element(By.CSS_SELECTOR, "p:nth-of-type(2)")
- 通过元素的可见性定位元素:
element = driver.find_element(By.CSS_SELECTOR, "p:visible")
- 通过元素的可点击状态定位元素:
element = driver.find_element(By.CSS_SELECTOR, "button:enabled")
- 通过元素的属性值定位元素:
element = driver.find_element(By.CSS_SELECTOR, "input[type='text']")
- 通过元素的伪类定位元素:
element = driver.find_element(By.CSS_SELECTOR, "a:link")
- 通过组合定位元素:
element = driver.find_element(By.CSS_SELECTOR, "div.classname > p:nth-child(2)")
注意:CSS选择器是大小写敏感的,所以"P"和"p"会匹配不同的元素。
评论已关闭