Python+Selenium

1.选择元素的方法

  1. F12后,点击下图箭头处的Elements标签,即可查看页面对应的HTML 元素。
  2. 点击箭头接着鼠标在界面上点击哪个元素,就可以查看 该元素对应的html标签 了。

01.根据 id属性 选择元素

from selenium import webdriver
from selenium.webdriver.common.by import By

# 创建 WebDriver 对象
wd = webdriver.Chrome()

# 调用WebDriver 对象的get方法 可以让浏览器打开指定网址
wd.get('https://www.baidu.com')

# 根据id选择元素,返回的就是该元素对应的WebElement对象
wd.find_element(By.ID, 'kw').send_keys("喻言")

02.根据 class属性

from selenium import webdriver
from selenium.webdriver.common.by import By

# 创建 WebDriver 对象
wd = webdriver.Chrome()

# 调用WebDriver 对象的get方法 可以让浏览器打开指定网址
wd.get('https://www.baidu.com')

# 根据class选择元素,返回的就是该元素对应的WebElement对象
wd.find_element(By.CLASS_NAME, 's_ipt').send_keys("喻言")

03根据tag名 选择元素

wd.find_element(By.TAG_NAME,'div')

2.等待界面元素出现

01.from time import sleep
sleep(10)

02.wd.implicitly_wait(10)

3.操控元素的基本方法

点击元素

.click()

在元素中输入字符串,通常是对输入框这样的元素

.send_keys("喻言")

清除输入框已有的字符串:

wd.clear()     

获取元素包含的信息,比如文本内容,元素的属性

获取元素的文本内容:print(wd.text)

获取元素属性:   print(wd.get_attribute(‘class’))

获取整个元素对应的HTML:  wd.get_attribute(‘innerHTML’) /wd.get_attribute(‘textContent’)

获取输入框里面的文字:   wd.find_element(By.ID, “input1”) print(element.get_attribute(‘value’))

CSS Selector 语法

find_elements(By.CSS_SELECTOR, CSS Selector参数)

根据id属性 : #id值

wd.find_element(By.CSS_SELECTOR, ‘#searchtext’)

根据class属性 : .class值

wd.find_elements(By.CSS_SELECTOR, ‘.animal’)

如果 元素2 是 元素1 的 直接子元素:

元素1 >元素2

如果 元素2 是 元素1 的 后代元素

元素1   元素2

css 选择器支持通过任何属性来选择元素: 方括号 [] 。