首页 > 其他 > 详细

selenium 实战

时间:2019-08-06 02:24:56      阅读:89      评论:0      收藏:0      [点我收藏+]

iframe

driver.switch_to_frame(id="xx")

多窗口

from selenium import webdriver
from time import sleep

driver = webdriver.Chrome()
driver.get("http://mail.sina.com.cn/")
driver.implicitly_wait(30)
driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[7]/div[1]/a[2]").click()
sleep(2)

now_handle = driver.current_window_handle
print("now_handle:%s"%now_handle)
for i in driver.window_handles:
print("i:%s"%i)
if i!=now_handle:
driver.switch_to_window(i)
sleep(2)
driver.find_element_by_name(‘email‘).send_keys("123")
刷新
driver.refresh()

获取执行的浏览器
driver.name

获取属性
name=driver.find_element_by_id("kw")
name.get_attribute("value")

元素是否可见
name.is_displayed()

元素是否可编辑
name.is_enabled()

元素是否可选中
name.is_selected()

悬浮/鼠标右击/鼠标双击
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Chrome()
name=driver.find_element_by_id("kw")
ActionChains(driver).move_to_element(name).perform()

示例2:
action_obj = ActionChains(driver)
name = driver.find_element_by_id("freename")
action_obj.context_click(name).perform()
action_obj.double_click(name).perform()


下拉框
from selenium import webdriver
from selenium.webdriver.support.select import Select

driver = webdriver.Chrome()
name = driver.find_element_by_id("kw")
select_obj = Select(name)
select_obj.select_by_index(2)
select_obj.select_by_value("name")
select_obj.select_by_visible_text(‘每条20个‘)

弹框
from selenium import webdriver

driver = webdriver.Chrome()
driver.switch_to_alert().text
driver.switch_to_alert().accept()
driver.switch_to_alert().dismiss()
driver.switch_to_alert().send_keys(‘xx‘)

 等待
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.implicitly_wait(5)
driver.get("http://mail.sina.com.cn/")
so = WebDriverWait(driver,10).until(expected_conditions.element_to_be_clickable((By.ID,‘kw‘)))
so.click()
 
 指定元素的文本位置/判断元素是否可见
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.common.by import By
from time import sleep

driver = webdriver.Chrome()
driver.implicitly_wait(5)
driver.get("http://mail.sina.com.cn/")
driver.find_element_by_id("freename").send_keys(‘ ‘)
sleep(2)
driver.find_element_by_id("freepassword").send_keys(‘ ‘)
sleep(2)
driver.find_element_by_link_text(‘登录‘).click()
isTest = WebDriverWait(driver,10).until(expected_conditions.text_to_be_present_in_element((By.XPATH,‘/html/body/div[1]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[1]/span[1]‘),‘请输入邮箱名‘))
isDisplay = WebDriverWait(driver,10).until(expected_conditions.visibility_of_element_located((By.XPATH,‘请输入邮箱名‘)))
if isTest:
print(‘ok‘)

selenium 实战

原文:https://www.cnblogs.com/zhang-dan/p/11306171.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!