主要定位方法
功能 | 语句 |
---|---|
定位元素 | element=driver.find_element_by_xpath(’ ') |
点击元素 | driver.find_element_by_xpath(’ ').click() |
填充文本 | driver.find_element_by_xpath(’ ‘).send_keys(’ ') |
获取文本 | driver.find_element_by_xpath(’ ').text |
鼠标移动到某个元素上点击 | element=driver.find_element_by_xpath(’ ') webdriver.ActionChains(driver).move_to_element(element).click(element).perform() |
定位到新打开的窗口 | self.driver.switch_to.window(self.driver.window_handles[1]) # 这个1就是第二个窗口 |
xpath只需要在源代码上就可以复制copy->copy xpath
出现找不到元素
- 可能是这个元素还没加载出来,解决方法:time.sleep(3)
- 如果是find_element_by_class_name(’’)之类的,名字不能带空格,需要换成点
- 需要鼠标移上去才显示,用上面移动鼠标的方法
- 元素确实不存在
注意elements和element区别
elements返回的是列表,element返回的是第一个符合条件的元素,点击之类的建议用element,爬取列表建议用elements
抓取列表
要找网页上list表的元素,只需要把list表共同的值(一般是class相同,有的是类型相同,都是a或者td)作为定位条件,就能返回一个列表,后续处理列表就可以了