介绍
我个人对自动化接触的不是很多,之前一直是一个做的工作也都是一些功能性能和接口测试,最近会去学习一些自动化方面的知识,然后会把自己学的分享给大家,希望一起进步,如果有不对的地方请大家指出,由于是一点一点学习,所以文章会慢慢的更新,除了自动化,还会更新一些接口和性能还有Android方面的文章,谢谢
定位页面元素
这里以Chrome为例
复制代码
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('juejin.cn/')
复制代码
打开掘金的网址,这里我在做的时候遇到一个错误就是打开网址之后浏览器会自己关闭,后来查阅之后发现需要添加一个Chrome Options他主要是一个配置Chrome启动时属性的类需要添加以下代码:
不去关闭浏览器
option = webdriver.ChromeOptions()
option.add_experimental_option("detach", True)
将option添加到Chrome中
driver = webdriver.Chrome(chrome_options=option)
复制代码
自动化selenium的定位方式
打开掘金网站之后就可以去进行书写对网页的定位模拟点击事件的操作
selenium提供了八种定位方式: id,name,class,tag_name,class_name,linktext,xpath,partial_link
八种定位方式使用的方法
find_element_by_name()
find_element_by_class_name()
find_element_by_tag_name()
find_element_by_link_text()
find_element_by_partial_link_text()
find_element_by_xpath()
find_element_by_css_selector()
复制代码
使用的方式:
id定位
<input id="juejin" type="text" value="" placeholder="掘金天下第一">
复制代码
使用find_element_by_id定位input标签:
driver.find_element_by_id("juejin")
复制代码
class定位
<a class="title">
复制代码
使用find_element_by_class_name定位a标签:
driver.find_element_by_class_name("title")
复制代码
name定位
name一般指标签的名称,页面中可能有很多个
<div name="juejin" content="掘金天下无敌">
复制代码
使用find_element_by_name定位div标签
driver.find_element_by_name("juejin")
复制代码
tag_name定位
一般页面都有很多相同的tag
<div name="juejin" content="掘金天下无敌">
复制代码
使用find_element_by_tag_name定位div标签
driver.find_element_by_tag_name("div")
复制代码
xpath定位
先点击最左侧的箭头,选择想要定位的元素
然后右键元素的标签
复制xpath的值,然后通过以下的代码进行定位
driver.find_element_by_xpath("/html/body/div/div/div/div[2]/div/div/input[1]")
复制代码
link定位
这个主要是用来定位文本链接
通过find_element_by_link_text定位,这个定位方式是通过部分文本就可以定位,比如下面这
<div class="掘金" data-v-04f46969="">沸点,牛</div>
复制代码
partial_link定位
driver.find_element_by_partial_link_text("沸点")
复制代码
这一篇文章就更新到这里,有不足希望大家指出,下午或者明天更新下一章selenium的使用