from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.PhantomJS(executable_path="G:\phantomjs-1.9.1-windows\phantomjs.exe")
#请求url
driver.get("http://www.baidu.com/")
#在搜索框里填入搜索值
driver.find_element_by_id("iptUsername").send_keys('百度')
#获取这个标签的尺寸(例如用在图片上面): {'width': 500, 'height': 22}
size = driver.find_element_by_name("wd").size
print size
#获取标签的文本(xpath)
news = driver.find_element_by_xpath("//div[@id='u1']/a[1]").text
print news
#获取css的值
driver.find_element_by_css_selector("input.btn").value_of_css_property("input.btn")
# 提交表单
driver.find_element_by_id("form1").submit()
#获取坐标
location = driver.find_element_by_xpath("//div[@id='u1']/a[3]").location
print location
#坐标: {'y': 19, 'x': 498}
#当前链接: https://www.baidu.com/
print driver.current_url
print driver.title
#标题: 百度一下, 你就知道
result =driver.find_element_by_id("su").is_displayed()
print result
#是否可见: True
# 获取部分元素源码:
.get_attribute('innerHTML')
#获取标签的元素属性值:.get_attribute('title')
href = driver.find_element_by_xpath("//div[@id='u1']/a[2]").get_attribute('href')
name = driver.find_element_by_xpath("//div[@id='u1']/a[2]").get_attribute('name')
print href,name
# 根据text文本获取xpath语法
self.driver.find_element_by_xpath('//*[text()="{}"]')
运行js
driver.execute_script("getRecordInfo(975882,'2016')")
清除cookie
driver.delete_all_cookies()
请求超时问题
# driver.implicitly_wait(10)
# driver.set_page_load_timeout(10)
# driver.set_script_timeout(10)
driver = webdriver.Chrome()
driver.get(url)
#浏览器最大化
driver.maximize_window()
#返回上一页
driver.back()
#关闭窗口
driver.close()
#退出
driver.quit()
#刷新
driver.refresh()
#获取页面源码
driver.page_source
代理中也可添加最大化
xpath模糊匹配
# 匹配文字
driver.find_element_by_xpath("//*[contains(text(), 'hao123')]").click()
# 匹配属性
driver.find_element_by_xpath("//*[contains(@id, 'kw')]").click()
# 匹配以什么开头
driver.find_element_by_xpath("//*[starts-with(@id, 's_kw_')]").click()
# 匹配以什么结尾
driver.find_element_by_xpath("//*[ends-with(@id, 'kw_wrap')]").click()
网友评论