元素定位有几种途径都耳熟能详
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