1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Python+selenium的元素定位

Python+selenium的元素定位

时间:2021-07-19 14:12:14

相关推荐

Python+selenium的元素定位

文章目录

1、定位元素1.1 id定位元素1.2 xpath定位元素1.3 class定位元素1.4 link定位元素1.5 css定位元素 2、元素操作2.1 send_keys输入值2.2 click 点击2.3 clear 清空元素2.4 back 回到前一个页面2.5 forward 前进一个页面2.6 refresh 刷新2.7 submit 提交2.8 title 获取页面的标题2.9 current_url 当前页面的url2.10 text 获取页面超链接的文本值2.11 tag_name 页面标签类型2.12 is_enabled 页面元素是否可编辑2.13 isDisplayed 判断元素是否用户可见2.14 get_attribute 得到页面属性对应的值 3、浏览器设置3.1 设置窗口最大化3.2 设置窗口大小3.3 返回元素的大小3.4 关闭窗口,退出程序 4、鼠标事件4.1 context_click 右击操作4.2 move_to_element 鼠标悬停4.3 double_click 双击4.4 drag_and_drop 元素拖动 5、键盘事件5.1 ENTER5.2 TAB5.3 BACK_SPACE5.4 SPACE 6、 设置等待6.1 Sleep休眠方式 7、 获取最新话柄7.1 获取最后一个页面的话柄 8、 调用javascript8.1 获取最后一个页面的话柄 9、 操作cookie9.1 Get_cookie9.2 add_cookie9.3 delete_cookie9.4 delete_all_cookies

1、定位元素

1.1 id定位元素

from selenium import webdriverbrowser = webdriver.Chrome('/Applications/Python 3.8/chromedriver') # chromedriver路径browser.maximize_window() # 窗口最大化browser.get('url')browser.find_element_by_id(file_name).send_keys(file_path)

1.2 xpath定位元素

browser.find_element_by_xpath(file_name).send_keys(file_path)

1.3 class定位元素

browser.find_element_by_class_name(file_name).send_keys(file_path)

1.4 link定位元素

browser.find_element_by_link_text(“详情”)

1.5 css定位元素

browser.find_element_by_css_selector("#hus").send_keys("selenium2")

2、元素操作

2.1 send_keys输入值

browser.find_element_by_id('accNo').send_keys(“4225438745541121154”)

2.2 click 点击

browser.find_element_by_id('accNo').click()

2.3 clear 清空元素

browser.find_element_by_id('accNo').clear()

2.4 back 回到前一个页面

browser.get(URL1)browser.get(URL2) # 同一个页面,从URL1调到URL2browser.back() # 从URL2返回到URL1中

2.5 forward 前进一个页面

browser.get(URL1)browser.get(URL2) # 同一个页面,从URL1调到URL2browser.back() # 从URL2返回到URL1中browser.forward() # 从URL1中前进到URL2

2.6 refresh 刷新

browser.get(URL1)time.sleep(3)browser.refresh() # 刷新当前页面

2.7 submit 提交

browser.get(URL1)browser.find_element_by_id(file_name).send_keys(file_path)browser.submit()

2.8 title 获取页面的标题

browser.get(URL1)print("页面标题是:%s" % browser.title)

2.9 current_url 当前页面的url

browser.get(URL1)url=driver.current_urlprint("当前页面的url是:%s" % url)

2.10 text 获取页面超链接的文本值

browser.get(URL1)link1 = browser.find_element_by_link_text(“详情”)text = link1.textprint("文本值是:%s" % link1)

2.11 tag_name 页面标签类型

browser.get(URL1)link1 = browser.find_element_by_link_text(“详情”)tag=link1.tag_name#页面标签类型print(tag)

2.12 is_enabled 页面元素是否可编辑

browser.get(URL1)link1 = browser.find_element_by_link_text(“详情”)tag=link1.is_enabled()print(tag)

2.13 isDisplayed 判断元素是否用户可见

browser.get(URL1)link1 = browser.find_element_by_link_text(“详情”)tag=link1.is_displayed()print(tag)

2.14 get_attribute 得到页面属性对应的值

browser.get(URL1)link1 = browser.find_element_by_link_text(“详情”)tag=link1.get_attribute("name")#得到name属性对应的值print(tag)

3、浏览器设置

3.1 设置窗口最大化

browser.get(URL1)browser.maximize_window()

3.2 设置窗口大小

browser.get(URL1)browser.set_window_size(920,1024)

3.3 返回元素的大小

browser.get(URL1)a = browser.find_element_by_css_selector("#kw").sizeprint(a)

3.4 关闭窗口,退出程序

browser.close() # 关闭浏览器browser.quit() # 退出程序

4、鼠标事件

4.1 context_click 右击操作

browser.get(URL1)browser.maximize_window()right_click = browser.find_element_by_css_selector("#kw") # 定位到需要右击的元素ActionChains(browser).context_click(right_click).perform() # 右击,不加perform不显示右击的内容

4.2 move_to_element 鼠标悬停

browser.get(URL1)browser.maximize_window()above = browser.find_element_by_link_text("设置")#定位到鼠标悬停的元素ActionChains(browser).move_to_element(above).perform()

4.3 double_click 双击

browser.get(URL1)browser.maximize_window()double_click = browser.find_element_by_id("abank")#定位到鼠标悬停的元素ActionChains(browser).double_click (double_click ).perform()

4.4 drag_and_drop 元素拖动

browser.get(URL1)browser.maximize_window()above = browser.find_element_by_link_text("新闻")#定位到原元素target = browser.find_element_by_id("kw")#定位到目标元素ActionChains(browser).drag_and_drop(above,target).perform()#把原元素拖动到目标元素上去

5、键盘事件

5.1 ENTER

from mon.keys import Keys # 导入对应的模块包browser.get(URL1)browser.maximize_window()browser.find_element_by_id('bank').send_keys(Keys.ENTER)

5.2 TAB

from mon.keys import Keys # 导入对应的模块包browser.get(URL1)browser.maximize_window()browser.find_element_by_id('bank').send_keys(Keys.TAB)

5.3 BACK_SPACE

from mon.keys import Keys # 导入对应的模块包browser.get(URL1)browser.maximize_window()browser.find_element_by_id('bank').send_keys(Keys.BACK_SPACE)

5.4 SPACE

from mon.keys import Keys # 导入对应的模块包browser.get(URL1)browser.maximize_window()browser.find_element_by_id('bank').send_keys(Keys.SPACE)

6、 设置等待

6.1 Sleep休眠方式

from mon.keys import Keys # 导入对应的模块包browser.get(URL1)browser.maximize_window()time.sleep(2)browser.find_element_by_id('bank').send_keys(Keys.ENTER)time.sleep(2)

7、 获取最新话柄

7.1 获取最后一个页面的话柄

from mon.keys import Keys # 导入对应的模块包browser.get(URL1)browser.maximize_window()time.sleep(1)browser.switch_to.window(browser.window_handles[-1]) # 最后打开的页面

8、 调用javascript

8.1 获取最后一个页面的话柄

from selenium import webdriverfrom time import sleepbrowser= webdriver.Chrome()browser.get('URL')#设置浏览器窗口大小browser.maximize_window()#搜索内容browser.find_element_by_id('kw').send_keys('selenium')browser.find_element_by_id('su').click()sleep(2)js = "$('input[id=%s]').attr('readonly',false)" % time_id # 3.jQuery,设置为false#执行script语句browser.execute_script(js)sleep(3)

9、 操作cookie

9.1 Get_cookie

from selenium import webdriverdriver = webdriver.Chrome()driver.get("")cookie = driver.get_cookies()#h获取页面的cookieprint(cookie)

9.2 add_cookie

from selenium import webdriverdriver = webdriver.Chrome()driver.get("")driver.add_cookie({'name':'userName','value':'rudy'})#添加一个cookie值cookie = driver.get_cookies()#h获取页面的cookiefor i in cookie:print('%s >> %s' % (i['name'],i['value']))driver.quit()

9.3 delete_cookie

from selenium import webdriverdriver = webdriver.Chrome()driver.get("")driver.add_cookie({'name':'userName','value':'rudy'})#添加一个cookie值cookie = driver.get_cookies()#h获取页面的cookiefor i in cookie:print('%s >> %s' % (i['name'],i['value']))driver.delete_cookie('userName')#删除名字为userName的cookiecookie2 = driver.get_cookies()for i in cookie2:print('%s >> %s' % (i['name'],i['value']))driver.quit()

9.4 delete_all_cookies

from selenium import webdriverdriver = webdriver.Chrome()driver.get("")driver.add_cookie({'name':'userName','value':'rudy'})#添加一个cookie值cookie = driver.get_cookies()#h获取页面的cookiefor i in cookie:print('%s >> %s' % (i['name'],i['value']))driver.delete_all_cookies()#删除所有的cookiecookie2 = driver.get_cookies()for i in cookie2:print('%s >> %s' % (i['name'],i['value']))driver.quit()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。