:html源码: 新闻 #全部匹配 driver.find_element_by_link_text(\"新闻\").click() #部分匹配 driver.find_element_by_partial_link_text(\"闻\").click()
八、Xpath&Css定位方法速查表
九、By定位
#By定位必备导入 from selenium.webdriver.common.by import By find_element(By.ID,\"kw\") find_element(By.NAME,\"wd\") find_element(By.CLASS_NAME,\"s_ipt\") find_element(By.TAG_NAME,\"input\") find_element(By.LINK_TEXT,u\"新闻\") find_element(By.PARTIAL_LINK_TEXT,u\"新\") find_element(By.XPATH,\"//*[@class='bg s_btn']\") find_element(By.CSS_SELECTOR,\"span.bg s_btn_wr>input#su\")
十、elements复数定位
说明:复数定位方式每次取到的都是具有相同类型属性的一组元素,所以返回的是一个list值
如上图需要定位到时视频,再点击视频链接
#注意下标是从0开始,所以视频下标为3 driver.find_elements_by_class_name(\"mnav\")[3].click() #也可以借助pop()函数,一般pop()或pop(-1)表示获取元素种的最后一个,pop(3)表示第4个 driver.find_elements(\"css selector\",\".mnav\").pop(3).click()
十一、JS的定位
#以下Element 返回单值,Elements复数返回列表值
id定位:document.getElementById() name定位:document.getElementsByName() tag定位:document.getElementsByTagName() class定位:document.getElementsByClassName() css定位:document.querySelectorAll()
源码举例
search_js = \"document.getElementsByName('wd')[0].value='selenium';\" search_js2 = \"document.querySelectorAll('.s_ipt')[0].value='selenium';\" button_js = \"document.getElementById('su').click();\" button_js2 = \"document.getElementsByClassName('s_btn')[0].click()\" driver.execute_script(search_js2) driver.execute_script(button_js2)
以上为常用的四种js定位方式都需要执行的就execute_script())
jQuery语法是为HTML元素的选取编制的,可以对元素执行一些具体的操作 基础语法是$(selector).action() $符号定义jQuery,selector选择器用来查询具体的HTML元素,通过action()来执行对元素的具体操作。 其中我们经常用到的action()在jq中有这么几种: $(selector).val('input_value') 其中input_value表示要输入的文本的值 $(selector).val('') 如果为空,则执行后是清空的操作 $(selector).click() 点击
源码举例
search_jq = \"$('#kw').val('selenium')\" button_jq = \"$('.s_btn').click()\" driver.execute_script(search_jq) driver.execute_script(button_jq)