amei0 2020-06-26
准备工作
安装selenium
准备对应版本的geckdriver.exe文件。
http://chromedriver.storage.googleapis.com/index.html
默认都是使用chorme浏览器,版本对应链接如上
如果没有配置chromerdriver环境变量的话,要通过参数去进行指定chromerdriver的路径
driver = webdriver.Chrome(executable_path=r"C:\project\py27_class\chromedriver.exe")
tips:直接配置环境变量的方法,诸如直接丢到python的环境变量中,或者是javajdk的路径下,都可以找到driver程序,
但是存在一个问题。在团队工作的时候,如果各个成员的环境不同,最好不要采用配置到环境变量中的方式进行配置,当环境不同时,对测试框架的灵活性,健壮性有影响。
# 创建一个driver对象,启动一个浏览器
driver = webdriver.Chrome()
# 访问一个页面
driver.get("http://www.baidu.com")
# 窗口最大化
driver.maximize_window()
# 窗口最小化
driver.minimize_window()
# 设置窗口大小
driver.set_window_size(width=800,height=500)
# 设置窗口的位置
driver.set_window_rect(x=100,y=200,width=800,height=500)
# 返回上一个页面
driver.back()
# 去下一个页面
driver.forward()
# 刷新页面
driver.refresh()
# 获取当前页面的url地址
driver.current_url()
# 获取当前页面的标题
driver.title()
# 获取页面的代码
driver.page_source
# 获取当前窗口的句柄
driver.current_window_handle
# 获取所有窗口的句柄
driver.window_handles
# 关闭窗口,推出驱动程序
driver.quit()# 1,通过id查找
res_ele = driver.find_element_by_id(‘kw‘)
# 2,通过name属性查找
driver.find_element_by_name(‘wd‘).send_keys("addicted") driver.finde_elements_by_name() # 找多个
# 3,通过标签名查找
# 返回第一个 ele = driver.find_element_by_tag_name(‘input‘) # 默认会返回第一个查找到的对象, # 返回所有的 ele = driver.find_elements_by_tag_name(‘input‘) print(ele)
# 4,通过class类属性查找
ele = driver.find_element_by_class_name(‘s_ipt_wr‘)
# 5, 通过链接标签文本查找
driver.find_element_by_link_text("新闻").click()
# 6,通过链接标签的部分文本查找
driver.find_element_by_partial_link_text(‘抗击‘).click()
# 7,通过xpath去定位 重点掌握
driver.find_element_by_xpath("//input[@id=‘kw‘]").send_keys(‘musen‘)
# 8,通过css选择器定位
driver.find_element_by_css_selector(‘#kw‘).send_keys("9989989")5.环境变量配置在linux系统下,需要将可执行文件配置到环境变量或将文件移动到属于环境变量的目录里面方法一:将文件移动到属于环境变量目录中sudo mv chromedriver /user/bin
写脚本涉及到数据库的配置信息,然后上面要求这种关键信息不能体现到脚本中,哦,那怎么办,那我去哪里读取数据库信息呢?从运行脚本的机器的环境变量里读取数据库信息,这样脚本中全是代码,就没有明文配置信息了。