webdriver与JS操作浏览器元素
1、JQuery的选择器实例
| 语法 | 描述 |
|---|---|
| $(this) | 当前 HTML 元素 |
| $("p") | 所有 <p> 元素 |
| $("p.intro") | 所有 class="intro" 的 <p> 元素 |
| $(".intro") | 所有 class="intro" 的元素 |
| $("#intro") | id="intro" 的元素 |
| $("ul li:first") | 每个 <ul> 的第一个 <li> 元素 |
| $("[href$='.jpg']") | 所有带有以 ".jpg" 结尾的属性值的 href 属性 |
| $("div#intro .head") | id="intro" 的 <div> 元素中的所有 class="head" 的元素 |
2、原生js定位元素的方法
document.getElementById("intro") # id=intro的某个元素
document.getElementsByClassName("red") # class="red"的全部元素
document.getElementsByName("login") # name=login的全部元素
document.getElementsByTagName("p") # 所有 <p> 元素
document.getElementsByTagNameNS("ns","name") # 指定命名空间和节点名称的全部元素
document.querySelector("css_selector") # 返回文档中匹配指定 CSS 选择器的一个元素
document.querySelectorAll() # 返回匹配 CSS 选择器的全部元素
3、js操作浏览器
| 文本框中输入 | webdriver | driver.find_element_by_css_selector("[name='username']").send_keys('terry001') |
| jQuery | $("[name='username']").eq(0).val('terry001'); | |
| 原生java_script | var el=document.querySelector("[name='username']");el.value="terry001"; | |
| 文本框清空 | webdriver | driver.find_element_by_css_selector("[name='username']").clear() |
| jQuery | $("[name='username']").eq(0).val(''); | |
| 原生java_script | var el=document.querySelector("[name='username']");el.value=""; | |
| 读取文本框中输入的文本 | webdriver | 无 |
| jQuery | $("[name='username']").eq(0).val(); | |
| 原生java_script | var el=document.querySelector("[name='username']");el.value; | |
| 获取文本 | webdriver | driver.find_element_by_css_selector("#los>h2").text |
| jQuery | $("#los>h2").text(); | |
| 原生java_script | var el=document.querySelector("#los>h2"); el.innerText; | |
| 获取元素属性 | webdriver | driver.find_element_by_css_selector("[name='login']").get_attribute('type') |
| jQuery | $("[name='login']").eq(0).attr("type") | |
| 原生java_script | var el=document.querySelector("[name='login']"); el.getAttribute('type'); | |
| 鼠标左键点击 | webdriver | driver.find_element_by_css_selector("[name='login']").click() |
| jQuery | $("[name='login']").eq(0).trigger('click') | |
| 原生java_script | var el=document.querySelector("[name='login']"); el.click(); | |
| 复选框是否被选中 | webdriver | driver.find_element_by_css_selector("[name='memberPass']").is_selected() |
| jQuery | $("[name='memberPass']").is(':checked') | |
| 原生java_script | var el=document.querySelector("[name='memberPass']"); el.checked; | |
| 当前页面跳转到新网址 | webdriver | driver.get("https://www.baidu.com/") |
| jQuery | window.location.href='https://www.baidu.com'; | |
| 原生java_script | 同jQuery | |
| 在新窗口中打开网址 | webdriver | 无 |
| jQuery | window.open("https://www.jd.com/"); | |
| 原生java_script | 同jQuery |

浙公网安备 33010602011771号