python对浏览器的常用操作有哪些_Python Selenium中对象常用操作方法
一、webdriver 提供了一系列的對象定位方法,常用的有以下幾種:id定位:find_element_by_id()
name定位:find_element_by_name()
class定位:find_element_by_class_name()
link定位:find_element_by_link_text()
partial link定位:find_element_by_partial_link_text()
tag定位:find_element_by_tag_name()
xpath定位:find_element_by_xpath()
css定位:find_element_by_css_selector()
二、鼠標事件
webdriver 中比較常用的操作對象的方法有下面幾個:click——點擊對象
send_keys——在對象上模擬按鍵輸入
clear——清除對象的內容,如果可以的話
submit——提交對象的內容,如果可以的話
text——用于獲取元素的文本信息
一般包括鼠標右鍵、雙擊、拖動、移動鼠標到某個元素上等等。
需要引入ActionChains類。
引入方法:
from?selenium.webdriver.common.action_chains?import?ActionChainsActionChains?常用方法:
perform()??執行所有ActionChains?中存儲的行為;
context_click()??右擊;
double_click()???雙擊;
drag_and_drop()??拖動;
move_to_element()??鼠標懸停。#定位到要雙擊的元素
qqq =driver.find_element_by_xpath("xxx")
#對定位到的元素執行鼠標雙擊操作
ActionChains(driver).double_click(qqq).perform()#定位元素的原位置
element = driver.find_element_by_name("source")
#定位元素要移動到的目標位置
target = driver.find_element_by_name("target")
#執行元素的移動操作
ActionChains(driver).drag_and_drop(element, target).perform()
三、對鍵盤事件
from selenium.webdriver.common.keys import Keys通過 send_keys()調用按鍵:
send_keys(Keys.TAB)?#?TAB
send_keys(Keys.ENTER)?#?回車
#ctrl+a 全選輸入框內容
driver.find_element_by_id(“kw”).send_keys(Keys.CONTROL,’a’)
四、selenium add_argument 參數表
driver = webdriver.Chrome(options=chrome_options)
其中options設置有很多,常用的如下:
chrome_options.add_argument(‘–user-agent=””‘) # 設置請求頭的User-Agent
chrome_options.add_argument(‘–window-size=1280×1024’) # 設置瀏覽器分辨率(窗口大小)
chrome_options.add_argument(‘–start-maximized’) # 最大化運行(全屏窗口),不設置,取元素會報錯
chrome_options.add_argument(‘–disable-infobars’) # 禁用瀏覽器正在被自動化程序控制的提示
chrome_options.add_argument(‘–incognito’) # 隱身模式(無痕模式)
chrome_options.add_argument(‘–hide-scrollbars’) # 隱藏滾動條, 應對一些特殊頁面
chrome_options.add_argument(‘–disable-javascript’) # 禁用javascript
chrome_options.add_argument(‘–blink-settings=imagesEnabled=false’) # 不加載圖片, 提升速度
chrome_options.add_argument(‘–headless’) # 瀏覽器不提供可視化頁面
chrome_options.add_argument(‘–ignore-certificate-errors’) # 禁用擴展插件并實現窗口最大化
chrome_options.add_argument(‘–disable-gpu’) # 禁用GPU加速,如果不加這個選項,有時定位會出現問題
chrome_options.add_argument(‘–disable-software-rasterizer’)
chrome_options.add_argument(‘–disable-extensions’)
chrome_options.add_argument(‘–start-maximized’)
chrome_options.add_argument((‘–proxy-server=’ + ip)) 設置代理
其他的一些關于Chrome的實用參數及簡要的中文說明,使用方法同上4.5.4,當然也可以在shell中使用。
–user-data-dir=”[PATH]” 指定用戶文件夾User Data路徑,可以把書簽這樣的用戶數據保存在系統分區以外的分區。
–disk-cache-dir=”[PATH]“ 指定緩存Cache路徑
–disk-cache-size= 指定Cache大小,單位Byte
–first run 重置到初始狀態,第一次運行
–incognito 隱身模式啟動
–disable-javascript 禁用Javascript
–omnibox-popup-count=“num” 將地址欄彈出的提示菜單數量改為num個。我都改為15個了。
–user-agent=“xxxxxxxx” 修改HTTP請求頭部的Agent字符串,可以通過about:version頁面查看修改效果
–disable-plugins 禁止加載所有插件,可以增加速度。可以通過about:plugins頁面查看效果
–disable-javascript 禁用JavaScript,如果覺得速度慢在加上這個
–disable-java 禁用java
–start-maximized 啟動就最大化
–no-sandbox 取消沙盒模式
–single-process 單進程運行
–process-per-tab 每個標簽使用單獨進程
–process-per-site 每個站點使用單獨進程
–in-process-plugins 插件不啟用單獨進程
–disable-popup-blocking 禁用彈出攔截
–disable-plugins 禁用插件
–disable-images 禁用圖像
–incognito 啟動進入隱身模式
–enable-udd-profiles 啟用賬戶切換菜單
–proxy-pac-url 使用pac代理 [via 1/2]
–lang=zh-CN 設置語言為簡體中文
–disk-cache-dir 自定義緩存目錄
–disk-cache-size 自定義緩存最大值(單位byte)
–media-cache-size 自定義多媒體緩存最大值(單位byte)
–bookmark-menu 在工具 欄增加一個書簽按鈕
–enable-sync 啟用書簽同步
–single-process 單進程運行Google Chrome
–start-maximized 啟動Google Chrome就最大化
–disable-java 禁止Java
–no-sandbox 非沙盒模式運行
五、執行js
利用selenium的browser.execute_script()方法來執行上面的JS方法:
browser.execute_script(‘window.scrollBy(200,0)’)
六、一些常用的例子
1.獲取當前頁面的Url函數
方法:current_url
實例:
driver.current_url
2.獲取元素坐標
方法:location
解釋:首先查找到你要獲取元素的,然后調用location方法
實例:
driver.find_element_by_xpath(“//*[@id=’tablechart’]/tbody/tr[14]/td[9]”).location
3.表單的提交
方法:submit
解釋:查找到表單(from)直接調用submit即可
實例:
driver.find_element_by_id(“form1”).submit()
4.獲取CSS的屬性值
方法:value_of_css_property(css_name)
實例:
driver.find_element_by_css_selector(“input.btn”).value_of_css_property(“input.btn”)
5.獲取元素的屬性值
方法:get_attribute(element_name)
實例:
driver.find_element_by_id(“sellaiyuan”).get_attribute(“sellaiyuan”)
6.判斷元素是否被選中
方法:is_selected()
實例:
driver.find_element_by_id(“form1”).is_selected()
7.返回元素的大小
方法:size
實例:
driver.find_element_by_id(“iptPassword”).size
返回值:{‘width’: 250, ‘height’: 30}
8.判斷元素是否顯示
方法:is_displayed()
實例:
driver.find_element_by_id(“iptPassword”).is_displayed()
9.判斷元素是否被使用
方法:is_enabled()
實例:
driver.find_element_by_id(“iptPassword”).is_enabled()
10.獲取元素的文本值
方法:text
實例:driver.find_element_by_id(“iptUsername”).text
11.元素賦值
方法:send_keys(*values)
實例:
driver.find_element_by_id(“iptUsername”).send_keys(‘admin’)
注意如果是函數需要增加轉義符u,eg.
driver.find_element_by_id(“iptUsername”).send_keys(u’青春’)
12.返回元素的tagName
方法:tag_name
實例:
driver.find_element_by_id(“iptUsername”).tag_name
13.刪除瀏覽器所以的cookies
方法:delete_all_cookies()
實例:
driver.delete_all_cookies()
14.刪除指定的cookie
方法:delete_cookie(name)
實例:deriver.delete_cookie(“my_cookie_name”)
15.關閉瀏覽器
方法:close()
實例:driver.close()
16.關閉瀏覽器并且推出驅動程序
方法:quit()
實例:driver.quit()
17.返回上一頁
方法:back()
實例:driver.back()
18.設置等待超時
方法:implicitly_wait(wait_time)
實例:driver.implicitly_wait(30)
19.瀏覽器窗口最大化
方法:maximize_window()
實例:driver.maximize_window()
20.查看瀏覽器的名字
方法:name
實例:drvier.name
總結
以上是生活随笔為你收集整理的python对浏览器的常用操作有哪些_Python Selenium中对象常用操作方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python填写excel内容_pyth
- 下一篇: websocket python爬虫_p