天天看點

2021-07-18 selenium 初學元素定位

元素定位有幾種途徑都耳熟能詳

selenium定位方法

Selenium提供了8種定位方式。

find_element_by_id

find_element_by_name

find_element_by_xpath

find_element_by_link_text

find_element_by_partial_link_text

find_element_by_tag_name

find_element_by_class_name

find_element_by_css_selector

一次查找多個元素 (這些方法會傳回一個list清單):

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

最後還是發現selenium的官方文檔是在是太清晰了,一下子就搞懂了,我後悔沒有早點看它,看視訊學習,實踐的時候總是查不到解決辦法。

https://selenium-python-zh.readthedocs.io/en/latest/locating-elements.html

我們的系統定位實踐

b = webdriver.Chrome()

b.get(‘http://www.xxx’)

password = b.find_elements_by_class_name(‘el-input__inner’)

password = b.find_elements_by_class_name(‘el-input__inner’)[1]

password.send_keys(‘password’)

name = b.find_elements_by_class_name(‘el-input__inner’)[0]

name.send_keys(‘name’)

b.find_element_by_class_name(‘qd-login__btn’).click()

如果會打開視窗的話,以下可以切換視窗

handles = driver.window_handles #擷取目前浏覽器的所有視窗句柄

b.switch_to.window(handles[-1]) #切換到最新打開的視窗

b.switch_to.window(handles[-2]) #切換到倒數第二個打開的視窗

b.switch_to.window(handles[0]) #切換到最開始打開的視窗

建立訪談又遇到了另一個問題,之前一直是傻瓜操作打開F12再點選選取元素

但是遇到有下拉彈窗的無法選取元素了

使用快捷鍵可以解決這個問題ctrl shift + c