python css定位_python学习之selenium+css定位完整版,附代码

#coding=utf-8from selenium import webdriverimport timefrom selenium.webdriver.common.action_chains import ActionChainsbrowser=webdriver.Chrome()browser.maximize_window()browser.get('地址')#通过class定位,一个标签有多个class中间的空格用点代替browser.find_element_by_css_selector('.ant-input.inp.mt28').send_keys('ceshi')#通过父标签的父标签定位p,在通过p定位子标签inputbrowser.find_element_by_css_selector('div.login-main>p:nth-child(2)>input').send_keys('123456')#通过标签+class定位browser.find_element_by_css_selector('button.ant-btn.ant-btn-primary').click()time.sleep(1)#element element: div p,选择div标签元素内部的所有p标签元素browser.find_element_by_css_selector('div.icon-pass-change-div i').click()time.sleep(1)#element>element: div>p,选择父元素为div标签元素的所有p标签元素browser.find_element_by_css_selector('button.ant-modal-close>span').click()time.sleep(1)#element+element: div+p,选择紧接在div元素之后的所有p元素browser.find_element_by_css_selector('div.user-name+div>i').click()time.sleep(1)#id: #firstname,选择id=‘fistname’的所有元素browser.find_element_by_css_selector('#sourcePwd').send_keys('wafer123')#[attritube=value]:[target=_blank],选择target="_blank"的所有元素browser.find_element_by_css_selector('#newPassword[type="password"]').send_keys('123456')#[attribute]: [target],选择带有target属性的所有元素browser.find_element_by_css_selector('#confirmPassword[placeholder]').send_keys('123456')#[attritube~=value]:[title~=flower],选择title属性包含单词‘flower’的所有元素browser.find_element_by_css_selector('button[class~=ant-btn]:nth-child(1)').click()#:first-child p:first-child,选择属于父元素的第一个子元素的每个p标签元素time.sleep(1)browser.find_element_by_css_selector('.dept-chose-icon>i:first-child').click()time.sleep(1)#[attribute^=value] a[src^='https'],选择其src属性以'https'开头的每个a标签元素browser.find_element_by_css_selector('button[aria-label^="Close"]>span').click()time.sleep(1)#[attribute$=value] a[src$='.pdf'],选择其src属性以'.pdf'结尾的所有a标签元素browser.find_element_by_css_selector('i[class$="anticon anticon-plus-circle-o"]').click()time.sleep(1)#[attribute*=value] a[src*='abc'],选择其src属性包含'abc'子串的每个a标签元素browser.find_element_by_css_selector('.ant-modal-body>span[class*="ant-select"]').click()time.sleep(1)#:first-of-type p:first-of-type,选择父元素的首个p标签元素的每个p标签元素(所有p标签对应的父标签的第一个子p标签元素)browser.find_element_by_css_selector('.ant-select-tree>li:first-of-type').click()time.sleep(0.5)#:last-of-type p:last-of-type,选择父元素的最后一个p标签元素的每个p标签元素(所有p标签对应的父标签的最后一个子p标签元素)browser.find_element_by_css_selector('.ant-modal-footer>button:last-of-type').click()time.sleep(0.5)#:only-of-type p:only-of-type,选择父元素里面唯一的p标签元素的每个p标签元素(所有p标签对应的父标签元素只有一个子p标签元素)browser.find_element_by_css_selector('.dept-chose-icon>i:only-of-type').click()time.sleep(0.5)#:nth-child(n) p:nth-child(2),选择属于父元素的第二个子元素的每个p标签元素(所有的p标签的父标签对应的第二个子标签元素)browser.find_element_by_css_selector('.ant-modal-footer>button:nth-child(1)').click()time.sleep(0.5)#:only-child p:only-child,选择父元素里面只有一个标签的每个p标签元素(父标签里面只有一个p标签)browser.find_element_by_css_selector('.ant-menu-submenu-title>i:only-child').click()#:nth-last-child(n) p:nth-last-child(2),选择属于父元素的倒数第二个子元素的每个p标签元素(所有的p标签的父标签对应的倒数第二个子标签元素)browser.find_element_by_css_selector('#item_0\$Menu>li:nth-last-child(2)').click()#id里面有$符号需要转义一下time.sleep(0.5)#:nth-of-type(n) p:nth-of-type(2),选择属于其父标签元素的第二个p标签的每个p标签元素(所有p标签对应的父标签的第二个p标签元素,也就是这个和p标签平级)article=browser.find_element_by_css_selector('.ant-menu-submenu-title>i:nth-of-type(1)')#鼠标放上悬浮选择菜单ActionChains(browser).move_to_element(article).perform()需要导入ActionChains包ActionChains(browser).move_to_element(article).perform()time.sleep(0.5)#:nth-last-of-type(n) p:nth-last-of-type(2),选择属于其父标签元素的倒数第二个p标签的每个p标签元素(所有p标签对应的父标签的倒数第二个p标签元素,也就是这个和p标签平级)browser.find_element_by_css_selector('#item_0\$Menu>li:nth-last-of-type(2)').click()time.sleep(1)#:last-child p:last-child,选择属于其父标签元素最后一个子元素是p标签的每个p标签元素(父标签的最后一个标签必须是p标签)browser.find_element_by_css_selector('.user-info>div:last-child').click()time.sleep(0.5)browser.find_element_by_css_selector('.ant-confirm-btns>button:nth-child(2)').click()browser.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值