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()
话很少说,上代码:css

我本身写的小例子。仅供参考。html

下载对应的谷歌驱动,放在本身的的谷歌目录里面。而后写入环境变量。python

#!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的编码方式真的是让人头疼,几乎大部分时间都要解决获取来的内容编码问题。只要是涉及到中文,或多或少会出现编码的问题。web

相关文章
相关标签/搜索