添加chromedriver
如果chromedriver在环境变量里,不用添加chromedriver的路径。
driver = webdriver.Chrome()
driver = webdriver.Chrome(chromedriver_path)
常用函数
back() # 返回/后退
close() # 关闭当前标签
current_url # 当前标签的网址
find_element_by_xpath('xpath') # 通过xpath找element
find_elements_by_xpath('xpath') # 通过xpath找element
find_element_by_tag_name('tag_name') # 通过tag找element
find_elements_by_tag_name('tag_name') # 通过tag找element
get_window_size() # 得到当前页面大小
refresh() # 刷新F5
save_screenshot() # 保存当前页面截图
set_window_size(1280, 1960000) # 设置当前页面大小
element找到第一个返回的元素,没有会报错。elements返回列表,没有返回空列表。
切换页面
handles = driver.window_handles # 获取当前页面所有句柄
driver.switch_to_window(handles[index]) # 切换到页面
§ element对象,常用函数
from selenium.webdriver.common.keys import Keys
send_keys(Keys.END) # end按键 dir(Keys)可以查看所有按键 DOWN END等
tag_name() # 标签名字
text # 标签内文本内容
click() # 点击element
§ 通过改变属性启动webdriver
# option = webdriver.ChromeOptions()
# option.add_argument('disable-infobars')
# driver = webdriver.Chrome(chrome_options=option)
chromeOptions = webdriver.ChromeOptions()
# chrome_options.add_argument('disable-infobars') # 屏蔽浏览器正受到自动化测试控制
# chromeOptions.add_argument('headless') # 后台运行,无界面。
# chromeOptions.add_argument('window-size=1200x600')
driver = webdriver.Chrome(chrome_options=chromeOptions)
§ webdriver调用JavaScript
driver.execute_script("js")
如果调用js代码需要返回数据,用return返回
js = "return document.getElementsByClassName('xxxx')" # 返回console内容要用return返回
driver.execute_script(js)