微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

selenium自动化测试

对应于webdriver中的定位方法分别是:
driver.find_element_by_name()——最常用,简单
driver.find_element_by_id()——最常用,简单
driver.find_element_by_class_name()
driver.find_element_by_tag_name()——最不靠谱
driver.find_element_by_link_text()——定位文字连接好用
driver.find_element_by_partial_link_text()——定位文字连接好用
driver.find_element_by_xpath()——最灵活,万能  (我最擅长)
driver.find_element_by_css_selector()
话不多说,上代码

我自己写的小例子。仅供参考。

下载对应的谷歌驱动,放在自己的的谷歌目录里面。然后写入环境变量。

#!usr/bin/env python
#-*- coding:utf-8 _*-
"""
@author:wujf
@file: 例子.py
@time: 2019/11/04
"""
from selenium import webdriver
import time
driver = webdriver.Chrome(r'C:\Users\lenovo\AppData\Local\Google\Chrome\Application\chromedriver.exe')  
driver.maximize_window() #最大化浏览器
driver.implicitly_wait(23) #隐式等待
url = "http://www.igxpt.com"
driver.get(url)
driver.find_element_by_xpath('//div[@class="input-wrap"]/input').send_keys('笔记本')  #这里我找到输入框模拟输入“笔记本”
driver.find_element_by_xpath('//div[@class="input-wrap"]/button').click()  #我找到搜索模拟点击搜索

# driver 获取html字符串
print(driver.page_source) #当前网页内容
with open('1.html','w',encoding='gb18030' ) as f:     #这里我计入encoding= 'gb18030'是为了解决中文乱码问题  
f.write(driver.page_source)
print(driver.current_url) #当前网页链接

  通过写这个小例子,我发现python3的编码方式真的是让人头疼,几乎大部分时间都要解决获取来的内容编码问题。只要是涉及到中文,或多或少会出现编码的问题。

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐