說明:用頁面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)