文章目录
环境配置
pycharm
环境配置- 下载
chrome drives.exe
,版本选择要和chrome浏览器版本相近放在python目录script
下 - 在pycharm输入以下代码使python配合seninum实现自动化输入
1.Link_text定位超链接
from selenium import webdriver #创建浏览器 driver = webdriver.Chrome() driver.get("https://www.baidu.com") #根据linktext方法定位超链接属性界面字样"新闻",看是否打开新闻超链接(注意link_text值用单引号) #driver.find_element_by_link_text('新闻').click() #根据partial_linktext方法定位超链接属性界面模糊字样"地",看是否打开地图超链接 driver.find_element_by_partial_link_text('地').click() import time # 沉睡的目的是让程序进行地慢一点方便观看,有时候是等待元素渲染完成 time.sleep(5) #关闭浏览器 #driver.quit()
2.混合元素定位
a.属性定位方式
#查找所有id=root的元素 driver.find_element_by_xpath('//*[@id="root"]
b.查找所有id值包含"con"的所有元素
注:contains()是个函数 //*[contains(@id,"con")]
c.查找所有包含id=footerLayer 且 包含class=relativeFooterLayer的所有元素
//*[@id="footerLayer" and @class="relativeFooterLayer" ]
d. 查找所有包含id=footerLayer 或者 包含class=relativeFooterLayer的所有元素
/*[@id="footerLayer" or @class="relativeFooterLayer" ]
f.查找 class以mod开头的div属性
//div[starts-with(@class,'mod')]
3.Xpath定位(通常)
1.绝对定位
从顶层一层一层往下找对应的元素
缺点:页面改动,绝对地址就会发生改变,将会定位错误
from selenium import webdriver import time #创建浏览器 driver = webdriver.Chrome() driver.get("https://www.ctrip.com/") #使用xpath方法绝对定位点击携程的攻略.景点功能 driver.find_element_by_xpath('/html/body/div/div[@id="leftSideNavLayer"]/div/div/div[@style]/div/div/div/div[6]').click() #沉睡的目的是让程序进行地慢一点方便观看,有时候是等待元素渲染完成 sleep(2) #关闭浏览器 driver.quit()
- 相对定位(经常)
from selenium import webdriver import time #创建浏览器 driver = webdriver.Chrome() driver.get("https://www.ctrip.com/") #使用xpath方法模糊定位点击携程的攻略.景点功能 driver.find_element_by_xpath('//body//div[@id="root"]//div[@class="lsn_first_nav_wrap_LZamG"][5]').click() #沉睡的目的是让程序进行地慢一点方便观看,有时候是等待元素渲染完成 sleep(2) #关闭浏览器 driver.quit()
4.css定位
注意:
1.空格是跨