首页 » Python » python基础:selenium的基本用法(二)

python基础:selenium的基本用法(二)

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
from selenium import webdriver  # 不管怎么用都要调的包
from selenium.webdriver.common.by import By  # 这个是通用的查找元素模式所必须调的包
import time
from selenium.webdriver import ActionChains  # 交互链和获取元素信息必须调用的
from selenium.common.exceptions import NoSuchElementException  # 这里是用try except报错的时候使用的包
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC  # 这里是显示等待必须调用的包
# 隐式等待 先等待元素加载出来,如果超过了规定的时间还没有加载出来,那就报错
browser.get("http://www.taobao.com/")
browser.implicitly_wait(5)
# 显式等待 判断元素加载是否和你的条件一致,不一致就继续等待。(比如百度登录框,需要点一下才能变成账号密码,就可以根据这个判断)
wait = WebDriverWait(browser,10)
input1 = wait.until(EC.presence_of_element_located((By.ID,"su")))
button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,".btn_search")))
print(input1,button)
# 常用的显示等待判断语句
# title_is 标题是某内容
# title_contains 标题包含某内容
# presence_of_element_located 元素加载出,传入定位元组,如(By.ID, 'p')
# visibility_of_element_located 元素可见,传入定位元组
# visibility_of 可见,传入元素对象
# presence_of_all_elements_located 所有元素加载出
# text_to_be_present_in_element 某个元素文本包含某文字
# text_to_be_present_in_element_value 某个元素值包含某文字
# frame_to_be_available_and_switch_to_it frame加载并切换
# invisibility_of_element_located 元素不可见
# element_to_be_clickable 元素可点击
# staleness_of 判断一个元素是否仍在DOM,可判断页面是否已经刷新
# element_to_be_selected 元素可选择,传元素对象
# element_located_to_be_selected 元素可选择,传入定位元组
# element_selection_state_to_be 传入元素对象以及状态,相等返回True,否则返回False
# element_located_selection_state_to_be 传入定位元组以及状态,相等返回True,否则返回False
# alert_is_present 是否出现Alert

# 前进和后退
browser.back()  # 后退
browser.forward()  # 前进


#cookies
browser.get_cookies()  # 获取
browser.add_cookie({'name':'name','domain':'www.zhihu.com','value':'germey'})  # 添加
browser.delete_all_cookies()  # 清空

# 选项卡管理 通过js调用来打开网页选项卡,或者模拟按键以及浏览器快捷方式来切换
browser.execute_script('window.open()')
browser.switch_to.window(browser.window_handles[1])
browser.get('http://www.taobao.com')
browser.switch_to.window(browser.window_handles[0])
browser.get('http://www.baidu.com')

原文链接:python基础:selenium的基本用法(二),转载请注明来源!

0