selenium使用一 页面导航
一 、基本操作
运行代码如下代码后,就会发现 Chrome地址栏的下方,正在受到自动测试软件的控制
from selenium import webdriver #启动谷歌浏览 driver = webdriver.Chorm() #打开百度页面 #driver.get(url)driver.get("www.baidu.com")#设置页面大小 第一个参数值设置的是浏览器的长,第二个参数值设置的是浏览器的 宽:driver.set_window_size(1200.1500)#页面最大化driver.maximize_window(
其他基本命令:
#前进 driver.back() #后退 driver.forward() #刷新 driver.refresh() #退出 driver.quit()
二、元素定位:
共有八种方式
find_element_by_id() find_element_by_name() find_element_by_class_name() find_element_by_tag_name() find_element_by_link_text() find_element_by_partial_link_text() find_element_by_xpath() find_element_by_css_selector()
1、根据ID 定位
HTML 属性的 ID 是很重要的,带有特定 ID 值的 HTML 元素可以被 CSS,样式选择器和 JavaScript 脚本查找 到,并执行某种特定的功能. 一般为了便于区分在 HTML 页面中我们是不会设置 ID 相同的 HTML 元素。
ID 选择器具有唯一性,虽然重复的 ID 对 应的 CSS 样式都会生效,如果用 JavaScript 去获取相应 ID 的元素时,会出错,因为取 ID 只能一个。
以百度搜索为例子,来一下如何找到程序的 ID。 这里是百度的搜索框的代码: <input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off"> 重点在这里,ID=”kw”,通过这里知道了,百度搜索框的 ID 为 kw,就可以找到这个 ID 了。 再得到搜索确认按钮的 ID: <input type="submit" value="百度一下" id="su" class="btn self-btn bg s_btn"> 通过上面这段代码可以看到,ID=”su”
#coding:utf-8 #导入库 from selenium import webdriver import time improt time #打开浏览器和打开百度 driver=webdriver.Chrome() driver.get("https://www.baIDu.com/") #通过 ID 查找,然后输入,并点击 driver.find_element_by_id("kw").send_keys("selenium") driver.find_element_by_id("su").click() #等待3秒 time.sleep() #退出浏览器 driver.quit()
2. 根据name定位
与id 类似
3. 根据Xpath 定位
打开浏览器的开发者工具,然后将其定位到搜索框 上, 这时候,我们下方开发者工具应该已经定位到相应的代码上,我们选中这行代码 (如果你的开发者工具的代码框被遮住的话,那么你可以通过上下滑动来适当的展
开,或者关掉弹出的 Console 和 What’s New),然后右键点击,选中 copy,这时候在 弹出的二级选择框中,点击位于最下方的 Copy XPath,我们就可以获取到由机器生成
。。。其他类似 不再赘述