from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec
from selenium.common.exceptions import TimeoutException,NoSuchElementException
from time import sleep
import random
def use_selenium():
browser = webdriver.Chrome()
browser.get("https://www.taobao.com/")
print(browser.page_source)
browser.close()
def use_select():
browser = webdriver.Chrome()
browser.get("https://www.taobao.com/")
input = browser.find_element_by_xpath("//*[@id='q']")
print(input)
browser.close()
def use_selects():
browser = webdriver.Chrome()
browser.get("https://www.taobao.com/")
input = browser.find_elements_by_css_selector('.service-bd a')
print(input)
browser.close()
def user_interaction():
browser = webdriver.Chrome()
browser.get("https://www.taobao.com/")
input = browser.find_element_by_xpath("//*[@id='q']")
input.send_keys("口红")
sleep(1)
print(input)
butten = browser.find_element_by_css_selector('.search-bd .search-panel .search-button .btn-search')
butten.click()
browser.close()
def user_execute_script():
browser = webdriver.Chrome()
browser.get("https://www.taobao.com/")
for i in range(0,1000,50):
check_height = browser.execute_script("return document.body.scrollHeight;")
t = random.uniform(1, 3)
sleep(t)
h = random.uniform(0, 50)
browser.execute_script("window.scrollBy(0,{0})".format(h))
check_height1 = browser.execute_script("return document.body.scrollHeight;")
print(str(check_height) + '**************' + str(check_height1))
print("end")
def use_implicitly_wait():
"""隐式等待"""
browser = webdriver.Chrome()
browser.implicitly_wait(10)
browser.get("https://www.taobao.com/")
input = browser.find_element_by_xpath("//*[@id='q']")
print(input)
browser.close()
def use_wait():
"""隐式等待"""
browser = webdriver.Chrome()
browser.get("https://www.taobao.com/")
wait = WebDriverWait(browser,10)
input = wait.until(ec.presence_of_element_located((By.ID,'q')))
print(input)
browser.close()
def use_forward_back():
"""前进和后退"""
browser = webdriver.Chrome()
browser.get("https://www.baidu.com/")
browser.get("https://www.taobao.com/")
browser.get("http://111.43.36.169/meol/index.do")
browser.back()
sleep(1)
browser.forward()
sleep(2)
browser.back()
browser.back()
browser.close()
def use_cookies():
"""小饼干"""
browser = webdriver.Chrome()
browser.get("https://www.baidu.com/")
print(browser.get_cookies())
browser.close()
def use_cookies():
"""选项卡"""
browser = webdriver.Chrome()
browser.execute_script('window.open()')
print(browser.window_handles)
browser.switch_to.window(browser.window_handles[1])
browser.get("https://www.baidu.com/")
sleep(3)
browser.switch_to.window(browser.window_handles[0])
browser.get("https://www.taobao.com/")
browser.close()
def use_try_except():
"""异常处理"""
browser = webdriver.Chrome()
try:
browser.get("https://www.baidu.com/")
except TimeoutException:
print("Time Out")
try:
input = browser.find_element_by_xpath("//*[@id='q']")
print(input)
except NoSuchElementException:
print("No Element")
if __name__ == '__main__':
use_selenium()
use_select()
use_selects()
user_interaction()
user_execute_script()
use_implicitly_wait()
use_wait()
use_forward_back()
use_cookies()
use_try_except()