元素定位有幾種途徑都耳熟能詳
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