1.无头浏览器(chrome)
selenium关闭左上方Chrome 正受到自动测试软件的控制的提示
转自 点击跳转
- 作者:阿登20
- 作者:阿登20
- 链接:https://www.jianshu.com/p/f630ea488f9f
- 来源:简书
- 还有一些常用options的常用方法
options = Options()
options.add_experimental_option('useAutomationExtension', False)
options.add_experimental_option("excludeSwitches", ['enable-automation'])
2.下拉框选中
1、导入 select 方法:
from selenium.webdriver.support.select import Select
2.常用
select_by_index() #通过下标
select_by_value() #通过value值
select_by_visible_text() #通过文本值
转自:点击跳转
3.等待方式
1.强制等待
time.sleep(10) #强制等待十秒
2.隐式等待
driver.implicitly_wait(10) # 隐性等待,最长等10秒
3 显示等待
locator =dirver.find_element_by_xpath('//*[@id="kw"]')
try:
WebDriverWait(driver, 20, 0.5).until(EC.presence_of_element_located(locator))
except Exception as e:
print(e)
driver: 传入WebDriver实例,即我们上例中的driver timeout: 超时时间,等待的最长时间(同时要考虑隐性等待时间) poll_frequency: 调用until或until_not中的方法的间隔时间,默认是0.5秒 ignored_exceptions: 忽略的异常,如果在调用until或until_not的过程中抛出这个元组中的异常, 则不中断代码,继续等待,如果抛出的是这个元组外的异常,则中断代码,抛出异常。默认只有NoSuchElementException。 转自:添加链接描述 版权声明:本文为CSDN博主「huilan_same」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/huilan_same/article/details/52544521
4.元素定位
通过id
find_element_by_id("id")
通过 name
find_element_by_name()
通过class
find_element_by_class_name()
通过标签名
find_element_by_tag_name()
通过文本
find_element_by_link_text()
通过文本模糊查询
find_element_by_partial_link_text()
通过xpath路径
find_element_by_xpath()
通过css id是# class是.
find_element_by_css_selector("#kw")
转自:点击跳转
键盘操作
简单操作
1.clear() #清除输入框的内容
2.send_keys('内容') #在文本框内输入内容
3.click() #点击按钮
4.submit() #表单的提交
复杂(拖拽…)
引入包
from selenium.webdriver.common.action_chains import ActionChains
ActionChains的执行原理,当调用ActionChains方法的时候不会立即执行,而是将所有的操作暂时存储在一个队列中,当调用perform()的方法时候,队列会按照放入的先后顺序依次执行。 ActionChains所有方法
click(on_element=None) #单击鼠标左键
click_and_hold(on_element=None) #点击鼠标左键,按住不放
context_click(on_element=None) #点击鼠标右键
double_click(on_element=None) #双击鼠标左键
drag_and_drop(source, target) #拖拽到某个元素然后松开
drag_and_drop_by_offset(source, xoffset, yoffset) #拖拽到某个坐标然后松开
move_by_offset(xoffset, yoffset) #鼠标移动到距离当前位置(x,y)
move_to_element(to_element) #鼠标移动到某个元素
move_to_element_with_offset(to_element, xoffset, yoffset) #将鼠标移动到距某个元素多少距离的位置
release(on_element=None) #在某个元素位置松开鼠标左键
perform() #执行链中的所有动作
所以最后要加上
ActionChainsDriver.perform()
鼠标移动
csdn首页
MoveElement = driver.find_element_by_xpath('//*[@id="csdn-toolbar"]/div/div/div[3]/div/div[5]/a')
Action = ActionChains(driver)
Action.move_to_element(MoveElement).perform()
转自:点击跳转
|