Python之关于Selenium的疑难杂症
1、print(*.text)时打印空白
WebElement中有可见元素与不可见元素之分,打印标签内文本却打印出空白的原因是因为打印的内容不可见的原因,这种情况可以利用get_attribute('textContent')
解决
print(result.text)
print(result.get_attribute('textContent'))
2、抓取同一父标签下的兄弟节点时总抓到整个文档的同祖先的兄弟节点
定位父亲节点后再获取其子节点时不要使用find_elements_by_xpath()
方法,这种方法在Selenium
的底层库函数里最终都是用整个WebElement
来操作的,用其他获取子节点的方法
3、关于如何获取子节点
find_element_by_id 在当前节点查找指定id的子节点
find_elements_by_id 在当前节点查找指定id的子节点集
find_element_by_name 在当前节点查找指定name的子节点
find_elements_by_name 在当前节点查找指定name的子节点集
find_element_by_link_text 在当前节点查找指定链接文本的子节点
find_elements_by_link_text 在当前节点查找指定链接文本的子节点集
find_element_by_partial_link_text 在当前节点查找指定链接部分文本的子节点
find_elements_by_partial_link_text 在当前节点查找指定链接部分文的子节点集
find_element_by_tag_name 在当前节点查找指定html tag的子节点
find_elements_by_tag_name 在当前节点查找指定html tag的子节点集
find_element_by_xpath 在当前节点查找指定xpath的子节点
find_elements_by_xpath 在当前节点查找指定xpath的子节点集
find_element_by_class_name 在当前节点查找指定class name的子节点
find_elements_by_class_name 在当前节点查找指定class name的子节点集
find_element_by_css_selector 在当前节点查找指定css选择器的子节点
find_elements_by_css_selector 在当前节点查找指定css选择器的子节点集