selenium选择多个元素元素定位?

一、自动化的主要步骤导入模块from selenium import webdriver1、初始化一个浏览器driver = webdriver.Chrome()2、打开一个网页drive.get(“http://www.baidu.com”)3、元素定位,如通过id查找:driver.find_element_by_id(“kw”)4、点击提交:button.click()元素定位常用8个方法:1、iddriver.find_element_by_id()2、name drive.find_element_by_name()—常用此方法注:返回符合属性的第一个元素,如果找不到元素,报错:NoSuchElementExpection
drive.find_elements_by_name()注:返回列表[所有的元素],如果找不到元素,返回空列表 3、class_namedrive.find_element_by_class_name()注:当class_name中出现空格时,找不到元素,可去掉空格,保留没有空格的部分进行查找;一般和xpath一起使用,如contains(@class_name, “”)使用4、tag_name标签名一般不用,找到的元素过多定位超链接:5、link_textdrive.find_element_by_link_text(“新闻”)主要定位超链接,通过连接的文本进行定位6、partial_link_text主要定位超链接,部分文本定位7、xpath(重要)组合条件查找xpath的表达式:标签名称[]谓语条件@属性1)一个条件查找//input[@id=‘kw’]其中:input为标签名,id为属性2)多个条件,and//input[@id=“kw” and @name=“wd”]3)文本,不需要使用@//a[text()=‘新闻’ and @class = ‘’]4)使用包含函数,contains()//a[contains(text(), “直播”)]//a[text()=‘新闻’ and contains(@class = ‘mnav’)]5)索引(//[@=“kw”])[2]6)通配符匹配0或者多个//[@*=“kw”]任意的标签、任意的属性值为kw7)上下级关系通过父级找子级://…/如://span[@class=“bg s_ipt_wr quickdelete-wrap”]/span[@class = “soutu-btn”]通过祖先找子孙://…//通过子级找父级:// /…//span[@class = “soutu-btn”]/…通过子级找祖先:// /…/…8)轴运算常用轴名称:ancestor、preceding-sibling (哥哥或姐姐)、following-sibling (弟弟妹妹)使用:// //ancestor::标签查找span标签,属性class = "soutu-btn"下的form表单//span[@class = “soutu-btn”]//ancestor::form8、css_selector选择器—组合条件查找格式:标签[属性=值]input[id = “kw”]xpath和css分别的优势:1、css更简洁,xpath函数较多,功能更强大2、css不支持文本定位,xpath支持[text()=*]3、效率:主流浏览器中,css的查询更快,一般较为简单的,可用css,复杂的元素定位,xpath元素定位通用方法e = drive.find_element(“id”, “kw”)}

我要回帖

更多关于 selenium选择多个元素 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信