selenium選擇元素的方法


selenium選擇元素的方法

·find_element_by_css_selector:通過元素的class選擇,如<div class='bdy-inner'>test</div>可以使用find_element_by_css_selector('div.bdy-inner')。

·find_element_by_xpath:通過xpath選擇,如<form id="loginForm">可以使用driver.find_element_by_xpath("//form[@id='loginForm']")。

·find_element_by_id:通過元素的id選擇,如<div id='bdy-inner'>test</div>可以使用driver.find_element_by_id('bdy-inner')。

·find_element_by_name:通過元素的name選擇,如<input name="username"type="text"/>可以使用driver.find_element_by_name('password')。

·find_element_by_link_text:通過鏈接地址選擇,如<a href="continue.html">Continue</a>可以使用driver.find_element_by_link_text('Continue')。

·find_element_by_partial_link_text:通過鏈接的部分地址選擇,如<a href="continue.html">Continue</a>可以使用driver.find_element_by_partial_link_text('Conti')。

·find_element_by_tag_name:通過元素的名稱選擇,如<h1>Welcome</h1>可以使用driver.find_element_by_tag_name('h1')。

·find_element_by_class_name:通過元素的class選擇,如<p class="content">Site content goes here.</p>可以使用driver.find_element_by_class_name('content')。

有時,我們需要查找多個元素。上述例子就查找了所有的評論。因此,也有對應的元素選擇方法,就是在上述的element后加上s,變成elements。

find_elements_by_name
find_elements_by_xpath
find_elements_by_link_text
find_elements_by_partial_link_text
find_elements_by_tag_name
find_elements_by_class_name
find_elements_by_css_selector

其中,xpath和css_selector是比較好的方法,一方面比較清晰,另一方面相對其他方法定位元素比較准確。

在上述例子中,我們使用了Selenium的click操作元素方法。常見的操作元素方法如下:

·Clear:清除元素的內容。
·send_keys:模擬按鍵輸入。
·Click:單擊元素。
·Submit:提交表單。

 

user = driver.find_element_by_name("username")  #找到用戶名輸入框

user.clear  #清除用戶名輸入框內容

user.send_keys("1234567")  #在框中輸入用戶名

pwd = driver.find_element_by_name("password")  #找到密碼輸入框

pwd.clear  #清除密碼輸入框內容

pwd.send_keys("******")    #在框中輸入密碼

driver.find_element_by_id("loginBtn").click()  #單擊登錄

 

上述代碼是一個自動登錄程序截取的一部分。從代碼中可以看到,可以用Selenium操作元素的方法對瀏覽器中的網頁進行各種操作,包括登錄。
Selenium除了可以實現簡單的鼠標操作,還可以實現復雜的雙擊、拖拽等操作。此外,Selenium還可以獲得網頁中各個元素的大小,甚至可以進行模擬鍵盤的操作


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM