自动化
python语法
selenums
定位元素:八个
id
name
tag_name
Class_name
文本
<a></a>
By.Link_TEXT,"新闻"
By.PARTIAL_LINK_TEXT,“新”
CSS 选择元素
id + #
class + . ===elements = wd.find_elements(By.CLASS_NAME, 'animal')
tag 直接写 ===elements = wd.find_elements(By.TAG_NAME, 'div')
属性值 :[‘ ‘] === element = wd.find_element(By.CSS_SELECTOR,'[href="http://www.miitbeian.gov.cn"]') 注意单引号双引号!!
复合使用 :element = wd.find_element(By.CSS_SELECTOR,'div[class="animal"]') 选择所有div中class为animal的元素
ctrl + F 可以自己选择找
选择子元素和后代元素
就是后代元素肯定是子元素,孙子也是后代,但是孙子肯定不是儿子,有点别扭但是就是这样滴
子元素
如果
元素2
是元素1
的 直接子元素, CSS Selector 选择子元素的语法是这样的元素1 > 元素2
中间用一个大于号 (我们可以理解为箭头号)
注意,最终选择的元素是 元素2
后代元素
元素1 元素2
中间是一个或者多个空格隔开
最终选择的元素是 元素2
XPath
选择框
rodio
#radio查看当前选中值
ele = wd.find_element(By.CSS_SELECTOR,"#s_radio input[checked=checked]")
print(ele.get_attribute('value'))
#radio选中
ele = wd.find_element(By.CSS_SELECTOR,"#s_radio input[value='小雷老师']").click()
checkbox
#checkbox
ele = wd.find_elements(By.CSS_SELECTOR,"#s_checkbox input[checked=checked]")
for e in ele :
e.click()
ele = wd.find_element(By.CSS_SELECTOR,"#s_checkbox input[value='小江老师']").click()
select单,多
select = Select(wd.find_element(By.CSS_SELECTOR,"#ss_multi"))
select.select_by_visible_text("小江老师")
select.deselect_all()
实战积累
time.sleep(2)强制等待
pytest
test_ 开头文件
test_ 函数 Test_类,没有init
封装浏览器