Python selenium PO  By.XPATH定位元素报错 如下代码经常报错: # 首页的“新建投放计划”按钮 new_ads_plan = (By.XPATH, "//*[text()='百度新闻']/..") print(type(self.new_ads_plan)) self.driver.find_element(self.new_ads_plan).click() 运行经常报错:selenium.common.exceptions.WebDriverExcepti…
我们工作中经常用到的定位方式有八大种:id name class_name tag_name link_text partial_link_text xpath css_selector 本篇内容主要说我们功能最强大的xpath定位 1.xpath绝对路径定位: 语法:直接页面所有标签一级一级向下指定,直到找到自己定位的元素:例如:html/body/div/div/span/input 2.根据标签属性进行定位: 语法://标签名[@属性名="属性值"]  标签名可以使用*代替,*表…
目录 1.Selenium中使用XPath查找元素 (1)XPath通过id,name,class属性定位 (2)XPath通过标签中的其他属性定位 (3)XPath层级定位 (4)XPath索引定位 (5)XPath逻辑定位 (6)XPath模糊匹配定位 (7)XPath其他定位方式 2.总结: 前情提示:在前一篇文章中,我们详细的介绍了XPath路径表达式的使用方式.那么本篇文章我们就来说说在Selenium测试框架中如何使用XPath定位元素. XPath定位和Selenium基础元素定位…
世界上最远的距离大概就是明明看到一个页面元素矗在那里,但是我却定位不到!! selenium定位元素的方法有很多种,像是通过id.name.class_name.tag_name.link_text等等,但是这些方法局限性太大,拿id属性来说,首先一定不会每个元素都有id属性,其次元素的id属性也不一定是固定不变的.所以这些方法了解一下即可,我们真正需要熟练掌握的是通过xpath和css定位,一般只要掌握一种就可以应对大部分定位工作了. 下面总结一下xpath的定位方法,结合自己练习的实例加深一…
  遇到一个非常郁闷的问题,终于解决了, 问题是这样的,NN网站的价格计划,每一个价格计划需要三连击才能全部点开,第一个房型的价格计划是可以正确三连击打开的,可是第二个房弄就不行了,报错说不是可点击的元素,具体错误如下:WebDriverException: Message: Element is not clickable at point (1372.5, 9.5). Other element would receive the click: <li style="display:…
出现场景:用discover方法批量执行py文件,出现随机性的报错(有时a.py报错,有时b.py报错...),共同特点:均是打开新窗口后,切换最新窗口,但定位不到新窗口的元素,超时报错.由于个人项目遇到的是跑一条用例都有1~3个窗口,所以本文针对1~3个窗口的切换随机报错进行处理. 发现错误原因: 我在切换窗口代码的位置,打印当前句柄信息(print(self.driver.window_handles)),如下图 由于经常习惯性认为,新窗口在句柄列表应该是最后一个,即经常用这句代码来切换到我…
# 用contains,寻找页面中style属性值包含有sp.gif这个关键字的所有div元素,其中@后面可以跟该元素任意的属性名. self.driver.find_element_by_xpath('//div[contains(@style,"sp.gif")]').click() # 用start-with,寻找style属性以position开头的div元素,其中@后面可以跟该元素任意的属性名. self.driver.find_element_by_xpath('//div…
# coding=utf-8 from selenium import webdriver driver = webdriver.Firefox() driver.maximize_window () driver.get("https://www.baidu.com") try: driver.find_element_by_id("kwf") print("id is find") except Exception as e: print(&…
用Xpath定位元素的方法总是记不住,经常要翻出各种文档链接参考,干脆把需要用到的内容整到这个笔记中方便查找. Xpath是在XML文档中定位节点的语言.使用 XPath 的主要原因之一是当想要查找的元素缺少合适的 id 或name属性.XPath定位器可以用来绝对或相对定位缺少id或name属性的元素,也可以是用其他属性进行定位. 通过XPath定位的元素容易受html调整的影响,可以先通过id或name属性找到就近的元素,如父元素,用以加强测试脚本的稳定性.   例如,源文件如下: <htm…
在rf中,利用selinum2的关键字进行用例编写时,很多关键字的参数是html元素的定位标识. 最简单的方式,是通过id 或name来描述元素定位信息,如 click  button    id=loginBtn  //表示点击id值为loginBtn的按钮元素 利用id和name来定位元素,前提是要求元素设置了id或name属性,并且是唯一的.但实际的web页面中,很多元素是没有id或name的,这时可通过html元素在页面中的路径来判断. 我们拿找人这个来比喻,利用id就好比通过身份证号(…