随笔分类 - selenium
摘要:控件1: 控件2: 解决办法:使用js实现 //*[@for='saleChannelList']/../following-sibling::div[2]//input[@class='el-range-input'][1] 为元素定位,直接添加输入内容 js = f"""var bm = doc
阅读全文
摘要:1、可能原因失去焦点 解决:默认selenium的点击操作是点元素0,0点坐标,那么我们可以在元素x,y坐标上加5,让点击操作往里一点。 from selenium.webdriver.common.action_chains import ActionChains ActionChains(sel
阅读全文
摘要:def upload_file(file_path): ''' :param file_path:上传文件的路径 :return: ''' dialog = win32gui.FindWindow("#32770", "打开") comboxex32 = win32gui.FindWindowEx(
阅读全文
摘要:xpath方法 绝对路径表示法: 从根节点(html)开始,路径分割符是/(斜杠,类似于linux中路径分割符) 如:/html/body/div/span 表示对应路径下的span元素 相对路径表示法: 以//开头后面加元素名称, 用法类似于css中的后代选择器,可以把//对应css中空格 如:/
阅读全文
摘要:css选择器方法(待补充) css定位快,语法简洁 常用属性css定位: 1、可以通过元素的id、class、标签这三个常规属性直接定位到 2、#代表id driver.find_element_by_css_selector('#kw')3、.代表class driver.find_element
阅读全文
摘要:执行js脚本来滚动屏幕: (x,y)x为0 纵向滚动,y为0横向滚动 负数为向上滚动 driver.execute_script('window.scrollBy(0,250)') 上传文件: 1、导入包 import win32com.client 2、获取shell对象 shell=win32c
阅读全文
摘要:多窗口、句柄: 1、获取当前句柄:driver.current_window_handle 2、获取所有句柄:driver.window_handles 3、切换句柄:driver.switch_to.window(h) 4、关闭当前窗口:driver.close()如果想确认当前是哪个窗口,可以遍
阅读全文
摘要:简单操作: 1、点击(鼠标左键)页面按钮:click() 2、清空输入框:clear() 3、输入字符串:send_keys()submit提交表单: 1、一般情况可以点击搜索按钮来搜索 2、也可以用submit来模拟回车键 注意:有些论坛是不可以用submit模拟回车键的 driver.find_
阅读全文
摘要:编辑框操作: 清空输入框:ele.clear() 获取输入框已经输入的文本:input_ele.get_attribute('value') 单选框操作(radio button): 定位元素,调用click()方法勾选框操作(CheckBox): 通过is_selected()查看元素是否处于选中
阅读全文
摘要:为什么需要等待时间:页面加载需要时间,如果页面没有加载完成,直接去定位,可能定位不到元素 1、强制等待: import time time.sleep(2) 不管有没有完成加载,必须等待2秒 2、隐式等待: driver = webdriver.Chrome() driver.implicity_w
阅读全文
摘要:iframe: iframe 就是一个特殊的html 元素, 它在原来的html 范围内,开辟了一个新的HTML。 iframe 元素会创建包含另外一个文档的内联框架(即行内框架) 理解:网页嵌套网页 frameset: frameset 元素可定义一个框架集。它被用来组织多个窗口(框架)。每个框架
阅读全文
摘要:、获取窗口title driver.title 2、获取url driver.current_url 3、获取窗口截图 driver.get_screenshot_as_file('window.png') 4、获取元素截图 ele.screenshot('ele.png') 5、刷新页面 driv
阅读全文
摘要:1、通过id定位元素 写法1: element = driver.find_element_by_id("kw") 写法2: from selenium.webdriver.common.by import By element = driver.find_element(by=By.ID, val
阅读全文