Python模块 Flashcards
【Selenium】
焦点切换到弹窗
然后点击接受
点击拒绝
alert = browser.switch_to_alert()
alert. accept()
alert. dismiss()
【Selenium】
模拟键盘输入
模拟键盘回车
清空textfield
b. send_keys(‘python3’)
b. send_keys(‘keys.RETURN’)
b. clear()
【Selenium】
通过xpath找到所有class元素
a = browser.find_elements_by_xpath(‘//*[@class]’)
for i in a:
print i.get_attribute(‘class’)
【Selenium】
通过xpath找到所有链接
a = browser.find_elements_by_xpath(‘//*[@href]’)
for i in a:
print i.get_attribute(‘href’)
【Selenium】
设置窗口位置坐标为150,200
browser.set_window_position(150,200)
【Selenium】
a = browser.find_elements_by_xpath(‘//*[@href]’)
检测这个元素是否存在
print a.is_displayed()
【Selenium】
双击
from selenium.webdriver import ActionChains a=browser.find_element_by_link_text('ki') actionchains=ActionChains(browser) actionchains.double_click(a).perform()
【Selenium】
获取当前url
browser.current_url
【Selenium】
导航栏回退,前进
browser. back()
browser. forward()
【Selenium】
创建一个浏览器实例
browser = webdriver.Firefox()
【Selenium】
鼠标悬停
hover = ActionChains(browser).move_to_element(a)
hover.perform()
【Selenium】
设置窗口最大化
设置窗口大小为1024x768
browser. maxmize_window()
browser. set_window_size(1024,768)
【Selenium】
获得标签img的text
a = browser.find_elements_by_tag_name(‘img’)
for i in a:
print i.text,i.tag_name,i.location,i.size
【Selenium】
有些对话框弹窗并不是alert,prompt这种,而是窗口,我现在要切换到新窗口,点击class_name为xxx的元素,再切换到原窗口
//获得当前窗口 nowhandle = browser.current_window_handle
//打开弹窗 browser.find_element_by_name('xxx').click()
//获得所有窗口 allhandles = browser.window_handles for handle in allhandles: if handle!=nowhandle: browser.switch_to_window(handle) browser.find_element_by_class_name('xxx').click() browser.switch_to_window(nowhandle)
【Selenium】
通过部分文本找link
a = browser.find_element_by_partial_link_text(‘term’)
a.click()
【Selenium】
获取option标签的value属性值
option = select.find_element_by_tag_name(‘option’)
print ‘Value is:’+option.get_attribute(‘value’)
【Selenium】
Link1链接是一个下拉菜单,怎样找到下拉菜单里的Action元素
dr = webdriver.Firefox() #点击Link1链接(弹出下拉列表) dr.find_element_by_link_text('Link1').click()
#找到id 为dropdown1的父元素 WebDriverWait(dr, 10).until(lambda the_driver: the_driver.find_element_by_id('dropdown1').is_displayed())
#在父亲元件下找到link为Action的子元素 menu = dr.find_element_by_id('dropdown1').find_element_by_link_text('Action')
#鼠标定位到子元素上 webdriver.ActionChains(dr).move_to_element(menu).perform()
【Selenium】
browser.get(‘browser.get(‘https://google.com’;)
访问后想看看源码
doc = browser.page_source
【Selenium】
有个按钮,点击就会弹出个框框让你上传文件,怎么做
只要定位上传按钮,通过send_keys添加路径即可
browser.find_element_by_name(‘file’).send_keys(‘D:\hello.txt’)
【Selenium】
有个下拉框,id为ShippingMethod,我想点击下拉框,然后选择value为16的元素,点击
m = browser.find_element_by_id(‘ShippingMethod’)
m.find_element_by_xpath(‘//option[@value=’16’]).click()
【Selenium】
执行js
browser.execute_script(“window.alert(‘hello’);”)
【Selenium】
模拟输入unicode
d = browser.find_element_by_css_selector(‘body’)
d.send_keys(‘\uE035’)
【Selenium】
对链接文本ki右键
from selenium.webdriver import ActionChains
a = browser.find_element_by_link_text(‘ki’)
actionchains = ActionChains(browser)
actionchains.context_click(a).perform()
【Selenium】
打开一个新tab
c = browser.find_element_by_tag_name(‘body’)
c.send_keys(keys.CONTROL+’t’)
【Selenium】
html页面里内嵌了一个框架f1,f1里面内嵌了f2,我想找f2里面id为kw的元素
browser.implicitly_wait(30) //先找到f1 browser.switch_to_frame('f1') //再找到f2 browser.switch_to_frame('f2')
browser.find_element_by_id(‘kw’)send_keys(‘hello’)
【Selenium】
获取元素的x-y坐标
print a.location
【Selenium】
切换到tab
browser. find_element_by_tag_name(‘body’).send_keys(keys.CONTROL+keys.PAGE_UP)
browser. find_element_by_tag_name(‘body’).send_keys(keys.CONTROL+’w’)//关闭
【Selenium】
通过text找link
a = browser.find_element_by_link_text(‘淘宝’)
【Selenium】
浏览器访问谷歌
browser.get(‘https://google.com’)
【Selenium】
刷新当前页面
browser.refresh()
【Selenium】
设置智能等待时间为30秒
browser.implicitly_wait(30)
【Selenium】
设置http代理为223.72.173.2:3389
profile = webdriver.FirefoxProfile()
profile.set_preference(‘network.proxy_type’,1)
profile.set_preference(‘network.proxy.http_port’,3389)
profile.update_preference()
browser = webdriver.Firefox(firefox_profile=profile)
【Selenium】
加cookie={…}
browser.add_cookies(cookie)
【Selenium】
qqq是定位到的元素,我想在这个元素上右键,
双击呢?
ActionChains(browser).context_click(qqq).perform()
ActionChains(browser).double_click(qqq).perform()
【Selenium】
a = browser.find_element_by_xpath(“//*[@type=’radio’]”)
检测元素是否被选择
a.is_selected()
【Selenium】
查找id为xxx的元素
查找标签为xxx的元素
b = browser.find_element_by_id(‘xx’)
browser.find_element_by_tag_name(‘xxx’)
【Selenium】
我想把名称为source的元素拖放到名称为target的元素上面
element = browser.find_element_by_name(‘source’)
target = browser.find_element_by_name(‘target’)
ActionChains(browser).drag_and_drop(element,target).perform()
【Selenium】
通过xpath点击所有radio按钮
a = browser.find_elements_by_xpath(“//*[@type=’radio’]”)
for i in a:
i.click()
【Selenium】
全选页面的body
elm = browser.find_elements_by_css_selector(‘body’)
elm.send_keys(keys.CONTROL+’a’)
【Selenium】
通过模拟按键的方式滑动到底部
c = browser.find_element_by_tag_name(‘html’)
c. send_keys(keys.END)
c. send_keys(keys.HOME)