说明:用页面id属性值定位元素javascript
from selenium import webdriver
driver=webdriver.Chrome()#经过谷歌浏览器驱动
driver.get('http://www.baidu.com')#打开百度网页
ele=driver.find_element_by_id("kw")#定位到百度页面的输入框css
说明:经过页面的xpath值定位元素html
右击鼠标,能够复制xpath值java
from selenium import webdriver
driver=webdriver.Chrome()
driver.get('http://www.baidu.com')
ele=driver.find_element_by_xpath("//*[@id=\"kw\"]")python
说明:经过页面的class值定位元素web
from selenium import webdriver
driver=webdriver.Chrome()
driver.get('http://www.baidu.com')
ele=driver.find_element_by_class_name("s_ipt")浏览器
说明:以页面的name属性定位元素cookie
from selenium import webdriver
driver=webdriver.Chrome()
driver.get("http://www.baidu.com")
ele=driver.find_element_by_name("wd")post
说明:经过页面上的连接定位元素测试
from selenium import webdriver
driver=webdriver.Chrome()
driver.get("http://www.baidu.com")
ele=driver.find_element_by_link_text("新闻")
说明:进行超连接的模糊查询
from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.get("http://www.baidu.com")
ele=driver.find_element_by_partial_link_text("频")
time.sleep(3)
ele.click()
说明:经过css选择器定位
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.find_element_by_css_selector("#kw").send_keys("selenium2")
说明:在input的输入框内输入值
from selenium import webdriver
driver=webdriver.Chrome()
driver.get('http://www.baidu.com')
ele=driver.find_element_by_id("kw")#定位到元素
ele.send_keys("selenium")#以id定位元素,而后在输入框内输入selenium
说明:点击页面按钮
from selenium import webdriver
driver=webdriver.Chrome()
driver.get('http://www.baidu.com')
ele=driver.find_element_by_id("kw")
ele.send_keys("selenium")#以id定位元素,而后在输入框内输入selenium
key=driver.find_element_by_id("su")
key.click()#定位元素而后点击
说明:清除input输入框内的输入内容
from selenium import webdriver
driver=webdriver.Chrome()
driver.get('http://www.baidu.com')
ele=driver.find_element_by_id("kw")
ele.send_keys("selenium")#以id定位元素,而后在输入框内输入selenium
key=driver.find_element_by_id("su")
key.click()#定位元素而后点击
ele.clear()#清除输入空内的内容
说明:回到前一个页面
from selenium import webdriver
driver=webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.get("http://www.sina.com")#同一个页面中从百度跳到新浪
driver.back()#重新浪返回百度页面
说明:向前进一个页面
from selenium import webdriver
driver=webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.get("http://www.sina.com")#同一个页面中从百度跳到新浪
driver.back()#重新浪返回百度页面
driver.forward()#前进一个页面
说明:刷新页面
from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.get("http://www.sina.com")
time.sleep(5)#睡5秒
driver.refresh()#刷新页面
说明:提交,只有表单的时候才能用
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
ele=driver.find_element_by_id("kw")
ele.send_keys("selenium")#以id定位元素,而后在输入框内输入selenium
ele.submit()
说明:获取页面的标题
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
title=driver.title
print(title)
说明:获得当前页面的url
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
url=driver.current_url
print(url)
说明:退出程序运行
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.quit()#退出运行
说明:获取页面超连接的文本值
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
ele=driver.find_element_by_link_text("登陆")
text=ele.text
print(text)
说明:页面标签类型
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
ele=driver.find_element_by_link_text("登陆")
tag=ele.tag_name#页面标签类型
print(tag)
driver.quit()
说明:页面元素是否可编辑
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
ele=driver.find_element_by_link_text("登陆")
tag=ele.is_enabled()
print(tag)
driver.quit()
说明:判断元素是否用户可见(有些元素页面不可见,可是存在代码中)
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
ele=driver.find_element_by_link_text("登陆")
tag=ele.is_displayed()
print(tag)
driver.quit()
说明:获得页面属性对应的值
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
ele=driver.find_element_by_id("kw")
tag=ele.get_attribute("name")#获得name属性对应的值
print(tag)
driver.quit()
说明:设置浏览器窗口大小
_Author_ = 'jc'
from selenium import webdriver
driver = webdriver.Chrome()
#打开12306网址
driver.get('https://www.12306.cn/index/')
#设置浏览器窗口大小
driver.set_window_size(800,800)
#driver.quit()
说明:窗口最大化
from selenium import webdriver
driver = webdriver.Chrome()
#窗口最大化
driver.maximize_window()
说明:返回元素的大小
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
a = driver.find_element_by_css_selector("#kw").size
print(a)
driver.quit()
说明:右击操做
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
right_click = driver.find_element_by_css_selector("#kw")#定位到须要右击的元素
ActionChains(driver).context_click(right_click).perform()#右击,不加perform不显示右击的内容
说明:鼠标悬停
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
above = driver.find_element_by_link_text("设置")#定位到鼠标悬停的元素
ActionChains(driver).move_to_element(above).perform()
说明:双击操做
说明:元素拖动
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
above = driver.find_element_by_link_text("新闻")#定位到原元素
target = driver.find_element_by_id("kw")#定位到目标元素
ActionChains(driver).drag_and_drop(above,target).perform()#把原元素拖动到目标元素上去
说明:删除操做
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
element = driver.find_element_by_id("kw")
element.send_keys("selenium")
time.sleep(2)
element.send_keys(Keys.BACK_SPACE)#删除操做,删除多输入的m
说明:输入空格
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
element = driver.find_element_by_id("kw")
element.send_keys("selenium")
element.send_keys(Keys.SPACE)#输入空格
element.send_keys("ok")
说明:全选输入框内容
同理:Keys.CONTROL,"v" 粘贴内容到输入框
Keys.CONTROL,"x" 剪贴输入框内容
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
element = driver.find_element_by_id("kw")
element.send_keys("selenium")
element.send_keys(Keys.CONTROL,"a")#ctrl + a ,全选输入框内容
说明:回车操做
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
element = driver.find_element_by_id("kw")
element.send_keys("selenium")
driver.find_element_by_id("su").send_keys(Keys.ENTER)#回车
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.126.com")
print(time.ctime())
for i in range(10):
try:
el = driver.find_element_by_class_name('j-inputtext dlpwd')
if el.is_displayed():#元素是否存在
break #存在就跳出循环
except:pass
time.sleep(1)#否则睡一秒继续找
else:
print('time out')#循环完了找不到就打印超时
print(time.ctime())#打印当前时间
driver.close()
说明:implicitly_wait():隐式等待 5 当使用了隐士等待执行测试的时候,若是 WebDriver没有在 DOM中找到元素,将继续等待,超出设定时间后则抛出找不到元素的异常 6 换句话说,当查找元素或元素并无当即出现的时候,隐式等待将等待一段时间再查找 DOM,默认的时间是0 7 一旦设置了隐式等待,则它存在整个 WebDriver 对象实例的声明周期中,隐式的等到会让一个正常响应的应用的测试变慢, 8 它将会在寻找每一个元素的时候都进行等待,这样会增长整个测试执行的时间。
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
import time
driver = webdriver.Chrome()
driver.implicitly_wait(10)#设置了全局查找元素10秒
driver.get("http://www.baidu.com")
print(time.ctime())
try:
driver.find_element_by_id('2kw').send_keys('selenium')
except NoSuchElementException as e: #没有找到元素就抛出没有找到的异常
print(e)
finally:
print(time.ctime())
driver.close()
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get("http://www.baidu.com")
time.sleep(2)
driver.find_element_by_id('kw').send_keys("postman")
time.sleep(3)
driver.find_element_by_id('su').click()
time.sleep(2)
driver.quit()
from selenium import webdriver
import time
driver = webdriver.Chrome()
#设置浏览器窗口大小
driver.maximize_window()
#打开12306网址
driver.get('https://www.12306.cn/index/')
url2 = driver.current_url
time.sleep(3)
url1 = driver.current_url
#查找登陆的连接
driver.find_element_by_xpath('//*[@id="J-header-login"]/a[1]').click()
time.sleep(3)
#跳转到帐号登陆
driver.find_element_by_xpath('/html/body/div[2]/div[2]/ul/li[2]/a').click()
time.sleep(5)
#帐号框输入帐号
eles = driver.find_elements_by_tag_name('input')#找出页面上的全部input输入框,比单个定位element后多了个s
for i in eles:
if i.get_attribute('class') == 'input':#若是输入框的class属性等于input就执行下一步
i.send_keys('selenium')
time.sleep(2)
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get("http://www.baidu.com")
handle = driver.current_window_handle #获取当前页面(百度搜索页面)的句柄
driver.find_element_by_link_text('登陆').click()
driver.find_element_by_link_text('当即注册').click()
handles = driver.window_handles#获取当前打开页面全部的句柄
for i in handles:
if i == handle: #判断句柄是否为百度搜索页面
driver.switch_to.window(i)#切换到搜索页面
driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_4__closeBtn"]').click()#关掉打开的小窗口
driver.find_element_by_id('kw').send_keys('selenium')
driver.find_element_by_id('su').click()
time.sleep(3)
else:
driver.switch_to.window(i)#切换到注册页面
driver.find_element_by_name('userName').send_keys('jack')
time.sleep(3)
driver.quit()
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
ele = driver.find_element_by_link_text('设置')
ActionChains(driver).move_to_element(ele).perform()#悬停在设置上
time.sleep(2)
driver.find_element_by_link_text('搜索设置').click()
time.sleep(2)
ele = driver.find_element_by_xpath('//*[@id="gxszButton"]/a[1]')#按下保存设置会跳出javascript的警告对话框
ele.click()
time.sleep(2)
print(driver.switch_to_alert().text)#打印警告对话框的文字
# driver.switch_to_alert().dismiss()#取消警告对话框
# driver.switch_to_alert().send_keys('ik')#发送文本到警告对话框
driver.switch_to_alert().accept()#接受警告
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
cookie = driver.get_cookies()#h获取页面的cookie
print(cookie)
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.add_cookie({'name':'userName','value':'rudy'})#添加一个cookie值
cookie = driver.get_cookies()#h获取页面的cookie
for i in cookie:
print('%s >> %s' % (i['name'],i['value']))
driver.quit()
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.add_cookie({'name':'userName','value':'rudy'})#添加一个cookie值
cookie = driver.get_cookies()#h获取页面的cookie
for i in cookie:
print('%s >> %s' % (i['name'],i['value']))
driver.delete_cookie('userName')#删除名字为userName的cookie
cookie2 = driver.get_cookies()
for i in cookie2:
print('%s >> %s' % (i['name'],i['value']))
driver.quit()
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.add_cookie({'name':'userName','value':'rudy'})#添加一个cookie值
cookie = driver.get_cookies()#h获取页面的cookie
for i in cookie:
print('%s >> %s' % (i['name'],i['value']))
driver.delete_all_cookies()#删除全部的cookie
cookie2 = driver.get_cookies()
for i in cookie2:
print('%s >> %s' % (i['name'],i['value']))
driver.quit()
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
#设置浏览器窗口大小
driver.set_window_size(600,600)
#搜索内容
driver.find_element_by_id('kw').send_keys('selenium')
driver.find_element_by_id('su').click()
sleep(2)
#经过javascript设置浏览器窗口的滚动条位置
js='window.scrollTo(100,450);'
#执行script语句
driver.execute_script(js)
sleep(3)
说明:用页面id属性值定位元素
from selenium import webdriver
driver=webdriver.Chrome()#经过谷歌浏览器驱动
driver.get('http://www.baidu.com')#打开百度网页
ele=driver.find_element_by_id("kw")#定位到百度页面的输入框
说明:经过页面的xpath值定位元素
右击鼠标,能够复制xpath值
from selenium import webdriver
driver=webdriver.Chrome()
driver.get('http://www.baidu.com')
ele=driver.find_element_by_xpath("//*[@id=\"kw\"]")
说明:经过页面的class值定位元素
from selenium import webdriver
driver=webdriver.Chrome()
driver.get('http://www.baidu.com')
ele=driver.find_element_by_class_name("s_ipt")
说明:以页面的name属性定位元素
from selenium import webdriver
driver=webdriver.Chrome()
driver.get("http://www.baidu.com")
ele=driver.find_element_by_name("wd")
说明:经过页面上的连接定位元素
from selenium import webdriver
driver=webdriver.Chrome()
driver.get("http://www.baidu.com")
ele=driver.find_element_by_link_text("新闻")
说明:进行超连接的模糊查询
from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.get("http://www.baidu.com")
ele=driver.find_element_by_partial_link_text("频")
time.sleep(3)
ele.click()
说明:经过css选择器定位
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.find_element_by_css_selector("#kw").send_keys("selenium2")
说明:在input的输入框内输入值
from selenium import webdriver
driver=webdriver.Chrome()
driver.get('http://www.baidu.com')
ele=driver.find_element_by_id("kw")#定位到元素
ele.send_keys("selenium")#以id定位元素,而后在输入框内输入selenium
说明:点击页面按钮
from selenium import webdriver
driver=webdriver.Chrome()
driver.get('http://www.baidu.com')
ele=driver.find_element_by_id("kw")
ele.send_keys("selenium")#以id定位元素,而后在输入框内输入selenium
key=driver.find_element_by_id("su")
key.click()#定位元素而后点击
说明:清除input输入框内的输入内容
from selenium import webdriver
driver=webdriver.Chrome()
driver.get('http://www.baidu.com')
ele=driver.find_element_by_id("kw")
ele.send_keys("selenium")#以id定位元素,而后在输入框内输入selenium
key=driver.find_element_by_id("su")
key.click()#定位元素而后点击
ele.clear()#清除输入空内的内容
说明:回到前一个页面
from selenium import webdriver
driver=webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.get("http://www.sina.com")#同一个页面中从百度跳到新浪
driver.back()#重新浪返回百度页面
说明:向前进一个页面
from selenium import webdriver
driver=webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.get("http://www.sina.com")#同一个页面中从百度跳到新浪
driver.back()#重新浪返回百度页面
driver.forward()#前进一个页面
说明:刷新页面
from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.get("http://www.sina.com")
time.sleep(5)#睡5秒
driver.refresh()#刷新页面
说明:提交,只有表单的时候才能用
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
ele=driver.find_element_by_id("kw")
ele.send_keys("selenium")#以id定位元素,而后在输入框内输入selenium
ele.submit()
说明:获取页面的标题
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
title=driver.title
print(title)
说明:获得当前页面的url
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
url=driver.current_url
print(url)
说明:退出程序运行
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.quit()#退出运行
说明:获取页面超连接的文本值
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
ele=driver.find_element_by_link_text("登陆")
text=ele.text
print(text)
说明:页面标签类型
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
ele=driver.find_element_by_link_text("登陆")
tag=ele.tag_name#页面标签类型
print(tag)
driver.quit()
说明:页面元素是否可编辑
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
ele=driver.find_element_by_link_text("登陆")
tag=ele.is_enabled()
print(tag)
driver.quit()
说明:判断元素是否用户可见(有些元素页面不可见,可是存在代码中)
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
ele=driver.find_element_by_link_text("登陆")
tag=ele.is_displayed()
print(tag)
driver.quit()
说明:获得页面属性对应的值
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
ele=driver.find_element_by_id("kw")
tag=ele.get_attribute("name")#获得name属性对应的值
print(tag)
driver.quit()
说明:设置浏览器窗口大小
_Author_ = 'jc'
from selenium import webdriver
driver = webdriver.Chrome()
#打开12306网址
driver.get('https://www.12306.cn/index/')
#设置浏览器窗口大小
driver.set_window_size(800,800)
#driver.quit()
说明:窗口最大化
from selenium import webdriver
driver = webdriver.Chrome()
#窗口最大化
driver.maximize_window()
说明:返回元素的大小
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
a = driver.find_element_by_css_selector("#kw").size
print(a)
driver.quit()
说明:右击操做
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
right_click = driver.find_element_by_css_selector("#kw")#定位到须要右击的元素
ActionChains(driver).context_click(right_click).perform()#右击,不加perform不显示右击的内容
说明:鼠标悬停
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
above = driver.find_element_by_link_text("设置")#定位到鼠标悬停的元素
ActionChains(driver).move_to_element(above).perform()
说明:双击操做
说明:元素拖动
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
above = driver.find_element_by_link_text("新闻")#定位到原元素
target = driver.find_element_by_id("kw")#定位到目标元素
ActionChains(driver).drag_and_drop(above,target).perform()#把原元素拖动到目标元素上去
说明:删除操做
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
element = driver.find_element_by_id("kw")
element.send_keys("selenium")
time.sleep(2)
element.send_keys(Keys.BACK_SPACE)#删除操做,删除多输入的m
说明:输入空格
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
element = driver.find_element_by_id("kw")
element.send_keys("selenium")
element.send_keys(Keys.SPACE)#输入空格
element.send_keys("ok")
说明:全选输入框内容
同理:Keys.CONTROL,"v" 粘贴内容到输入框
Keys.CONTROL,"x" 剪贴输入框内容
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
element = driver.find_element_by_id("kw")
element.send_keys("selenium")
element.send_keys(Keys.CONTROL,"a")#ctrl + a ,全选输入框内容
说明:回车操做
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
element = driver.find_element_by_id("kw")
element.send_keys("selenium")
driver.find_element_by_id("su").send_keys(Keys.ENTER)#回车
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.126.com")
print(time.ctime())
for i in range(10):
try:
el = driver.find_element_by_class_name('j-inputtext dlpwd')
if el.is_displayed():#元素是否存在
break #存在就跳出循环
except:pass
time.sleep(1)#否则睡一秒继续找
else:
print('time out')#循环完了找不到就打印超时
print(time.ctime())#打印当前时间
driver.close()
说明:implicitly_wait():隐式等待 5 当使用了隐士等待执行测试的时候,若是 WebDriver没有在 DOM中找到元素,将继续等待,超出设定时间后则抛出找不到元素的异常 6 换句话说,当查找元素或元素并无当即出现的时候,隐式等待将等待一段时间再查找 DOM,默认的时间是0 7 一旦设置了隐式等待,则它存在整个 WebDriver 对象实例的声明周期中,隐式的等到会让一个正常响应的应用的测试变慢, 8 它将会在寻找每一个元素的时候都进行等待,这样会增长整个测试执行的时间。
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
import time
driver = webdriver.Chrome()
driver.implicitly_wait(10)#设置了全局查找元素10秒
driver.get("http://www.baidu.com")
print(time.ctime())
try:
driver.find_element_by_id('2kw').send_keys('selenium')
except NoSuchElementException as e: #没有找到元素就抛出没有找到的异常
print(e)
finally:
print(time.ctime())
driver.close()
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get("http://www.baidu.com")
time.sleep(2)
driver.find_element_by_id('kw').send_keys("postman")
time.sleep(3)
driver.find_element_by_id('su').click()
time.sleep(2)
driver.quit()
from selenium import webdriver
import time
driver = webdriver.Chrome()
#设置浏览器窗口大小
driver.maximize_window()
#打开12306网址
driver.get('https://www.12306.cn/index/')
url2 = driver.current_url
time.sleep(3)
url1 = driver.current_url
#查找登陆的连接
driver.find_element_by_xpath('//*[@id="J-header-login"]/a[1]').click()
time.sleep(3)
#跳转到帐号登陆
driver.find_element_by_xpath('/html/body/div[2]/div[2]/ul/li[2]/a').click()
time.sleep(5)
#帐号框输入帐号
eles = driver.find_elements_by_tag_name('input')#找出页面上的全部input输入框,比单个定位element后多了个s
for i in eles:
if i.get_attribute('class') == 'input':#若是输入框的class属性等于input就执行下一步
i.send_keys('selenium')
time.sleep(2)
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get("http://www.baidu.com")
handle = driver.current_window_handle #获取当前页面(百度搜索页面)的句柄
driver.find_element_by_link_text('登陆').click()
driver.find_element_by_link_text('当即注册').click()
handles = driver.window_handles#获取当前打开页面全部的句柄
for i in handles:
if i == handle: #判断句柄是否为百度搜索页面
driver.switch_to.window(i)#切换到搜索页面
driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_4__closeBtn"]').click()#关掉打开的小窗口
driver.find_element_by_id('kw').send_keys('selenium')
driver.find_element_by_id('su').click()
time.sleep(3)
else:
driver.switch_to.window(i)#切换到注册页面
driver.find_element_by_name('userName').send_keys('jack')
time.sleep(3)
driver.quit()
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
ele = driver.find_element_by_link_text('设置')
ActionChains(driver).move_to_element(ele).perform()#悬停在设置上
time.sleep(2)
driver.find_element_by_link_text('搜索设置').click()
time.sleep(2)
ele = driver.find_element_by_xpath('//*[@id="gxszButton"]/a[1]')#按下保存设置会跳出javascript的警告对话框
ele.click()
time.sleep(2)
print(driver.switch_to_alert().text)#打印警告对话框的文字
# driver.switch_to_alert().dismiss()#取消警告对话框
# driver.switch_to_alert().send_keys('ik')#发送文本到警告对话框
driver.switch_to_alert().accept()#接受警告
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
cookie = driver.get_cookies()#h获取页面的cookie
print(cookie)
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.add_cookie({'name':'userName','value':'rudy'})#添加一个cookie值
cookie = driver.get_cookies()#h获取页面的cookie
for i in cookie:
print('%s >> %s' % (i['name'],i['value']))
driver.quit()
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.add_cookie({'name':'userName','value':'rudy'})#添加一个cookie值
cookie = driver.get_cookies()#h获取页面的cookie
for i in cookie:
print('%s >> %s' % (i['name'],i['value']))
driver.delete_cookie('userName')#删除名字为userName的cookie
cookie2 = driver.get_cookies()
for i in cookie2:
print('%s >> %s' % (i['name'],i['value']))
driver.quit()
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.add_cookie({'name':'userName','value':'rudy'})#添加一个cookie值
cookie = driver.get_cookies()#h获取页面的cookie
for i in cookie:
print('%s >> %s' % (i['name'],i['value']))
driver.delete_all_cookies()#删除全部的cookie
cookie2 = driver.get_cookies()
for i in cookie2:
print('%s >> %s' % (i['name'],i['value']))
driver.quit()
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
#设置浏览器窗口大小
driver.set_window_size(600,600)
#搜索内容
driver.find_element_by_id('kw').send_keys('selenium')
driver.find_element_by_id('su').click()
sleep(2)
#经过javascript设置浏览器窗口的滚动条位置
js='window.scrollTo(100,450);'
#执行script语句
driver.execute_script(js)
sleep(3)