关于python的元素定位问题实例讲解
程序员文章站
2022-07-05 23:29:27
关于python的元素定位问题实例讲解。
webdriver 提供了一系列的元素定位方法,常用的有以下几种
id...
关于python的元素定位问题实例讲解。
webdriver 提供了一系列的元素定位方法,常用的有以下几种 id find_element_by_id() name find_element_by_name() class name find_element_by_class_name() tag name find_element_by_tag_name() link text find_element_by_link_text() partial link text find_element_by_partial_link_text() xpath find_element_by_xpath() css selector find_element_by_css_selector() id=”gs_htif0” find_element_by_id("gs_htif0") name=”btnK” find_element_by_name("btnK") class=”jhp_big” find_element_by_class_name("jhp_big") 通过tag 标签名对对元素进行定位: <p> find_element_by_tag_name("p") <form> find_element_by_tag_name("form") <input> find_element_by_tag_name("input") 通过link text 定位元素: find_element_by_link_text("新闻") find_element_by_link_text("贴吧") find_element_by_link_text("一个很长的文字连接") 通partial link text 也可以定位到上面几个元素: find_element_by_partial_link_text("新") find_element_by_partial_link_text("吧") find_element_by_partial_link_text("一个很长的") 用绝对路径定位: find_element_by_xpath("/html/body/p[2]/form/span/input") 相对路径定位: find_element_by_xpath("//input[@id=’input’]") #通过自身的id 属性定位 find_element_by_xpath("//span[@id=’input-container’]/input") #通过上一级目录的id 属性定位 find_element_by_xpath("//p[@id=’hd’]/form/span/input") #通过上三级目录的id 属性定位 find_element_by_xpath("//p[@name=’q’]/form/span/input")#通过上三级目录的name 属性定位 通过上面的例子,我们可以看到XPath 的定位方式非常灵活和强大的,而且XPath 可以做布尔逻辑运算, 例如://p[@id=’hd’ or @name=’q’] from selenium.webdriver.common.keys import Keys 在使用键盘按键方法前需要先导入keys 类包。 下面经常使用到的键盘操作: send_keys(Keys.BACK_SPACE) 删除键(BackSpace) send_keys(Keys.SPACE) 空格键(Space) send_keys(Keys.TAB) 制表键(Tab) send_keys(Keys.ESCAPE) 回退键(Esc) send_keys(Keys.ENTER) 回车键(Enter) send_keys(Keys.CONTROL,'a') 全选(Ctrl+A) send_keys(Keys.CONTROL,'c') 复制(Ctrl+C) send_keys(Keys.CONTROL,'x') 剪切(Ctrl+X) send_keys(Keys.CONTROL,'v') 粘贴(Ctrl+V)