selenium 節點獲取和節點互動

2021-10-25 09:03:06 字數 3055 閱讀 5395

from selenium import webdriver

import io

import sys

buffer

,encoding=

'gb18030'

)#修改編碼使得網頁能展示

#如果該檔案的命名是selenium.py時系統會報錯、

#需要改

# browser = webdriver.chrome()

browser = webdriver.firefox(

)browser.get(

'')input_id = browser.find_element_by_id(

'q')

input_name = browser.find_element_by_name(

'q')

input_css = browser.find_element_by_css_selector(

'#q'

)input_xpath = browser.find_element_by_xpath(

'//*[@id="q"]'

)print

(input_id)

print

(input_name)

print

(input_css)

print

(input_xpath)

獲取到頁面後檢視搜尋框的源**

四個不同的方法的返回值;

"8c70f179-a36d-4dcb-9ebb-1ff69bfed680"

, element=

"62affff0-e839-4ce1-944c-e9bcec1b1806"

)>

"8c70f179-a36d-4dcb-9ebb-1ff69bfed680"

, element=

"62affff0-e839-4ce1-944c-e9bcec1b1806"

)>

"8c70f179-a36d-4dcb-9ebb-1ff69bfed680"

, element=

"62affff0-e839-4ce1-944c-e9bcec1b1806"

)>

"8c70f179-a36d-4dcb-9ebb-1ff69bfed680"

, element=

"62affff0-e839-4ce1-944c-e9bcec1b1806"

)>

process finished with exit code 0

四種方式是一樣的

法二:

from selenium import webdriver

import io

import sys

buffer

,encoding=

'gb18030'

)from selenium.webdriver.common.by import by

browser = webdriver.firefox(

)browser.get(

'')input_id = browser.find_element(by.id,

'q')

print

(input_id)

browser.close(

)

通用方法find_element(),需要兩個引數:查詢方式by和值

實際就是上面方法的函式版本,只是更加靈活

即:browser.find_element_by_id('q')<=>browser.find_element(by.id,'q')

from selenium.webdriver.common.by import by

browser = webdriver.firefox(

)browser.get(

'')# list = browser.find_elements_by_css_selector('.service-bd li ')

list

= browser.find_elements(by.css_selector,

'.service-bd li '

)print

(list

)browser.close(

)

多節點和單節點的區別就是find_elementfind_elements

browser = webdriver.firefox(

)browser.get(

'')input

= browser.find_element_by_id(

'q')

input

.send_keys(

'iphone'

)time.sleep(1)

input

.clear(

)input

.send_keys(

'ipad'

)botton = browser.find_element_by_class_name(

'btn-search'

)botton.click(

)

首先,驅動瀏覽器開啟**,

然後,用find_element_by_id()方法獲取輸入框

然後,用send_keys()方法輸入iphone

等待一秒後clear()方法清空輸入框

再次呼叫send_keys()方法輸入ipad

之後,再用find_element_by_class_name()獲取搜尋按鈕,

最後,呼叫click()方法完成搜尋

JS獲取子節點 父節點和兄弟節點

js獲取父節點 js獲取兄弟節點 var a document.getelementbyid test getelementsbytagname div 陣列格式,不包含換行和空格 var getfirstchild document.getelementbyid test children 0 陣...

jQuery獲取節點和子節點文字

對於下面的html片段,test texttechbrood co.獲取節點純文字 var text text test text 這個會得到 test text techbrood co.也就是會把當前元素的所有節點 包含子節點 的文字讀取出來。如果只想獲取主節點的文字,方法複雜點 var tex...

WebApi node節點元素獲取,和節點屬性

obj.parentnode 獲得當前物件的父節點 返回值是乙個物件 obj.parentelement 獲得當前物件的父元素 返回值是乙個物件 obj.children 獲得當前元素的子元素 返回乙個偽陣列 obj.childnodes 獲得當前元素的子節點,返回乙個偽陣列 以下下屬性可能有些瀏覽...