python元素定位input button_python+webdriver学习鼠标键盘事件以及定位元素

论坛 期权论坛     
选择匿名的用户   2021-5-30 01:34   228   0
<div style="font-size:16px;">
<p>设置浏览器大小:像素点</p>
<p>set_window_size(width,height)</p>
<p>maximize_window() 浏览器全屏显示,不带参数</p>
<p>控制浏览器前进、后退:</p>
<p>driver.forward()</p>
<p>driver.back()</p>
<p>模拟浏览器刷新:</p>
<p>driver.refresh()</p>
<p>from selenium import webdriver</p>
<p>driver &#61; webdriver.Firefox()</p>
<p>driver.get(r&#34;http://www.baidu.com/&#34;)</p>
<p>#参数是像素点宽,高</p>
<p>driver.set_window_size(800,800)</p>
<p>print(&#34;浏览器大小是800px,800px&#34;)</p>
<p>driver.find_element_by_link_text(&#34;新闻&#34;).click()</p>
<p>driver.back()     #返回前一个页面</p>
<p>driver.forward()  #前进前一个页面</p>
<p>driver.refresh()  #刷新当前页面</p>
<p>driver.find_element_by_css_selector(&#34;#ww&#34;).send_keys(&#34;python3&#34;)</p>
<p>driver.find_element_by_xpath(&#34;//*[&#64;class&#61;&#39;btn&#39;]&#34;).click()</p>
<p>driver.refresh()  #刷新当前页面</p>
<p>driver.quit()</p>
<p>clear()清除文本</p>
<p>send_keys(&#34;....&#34;) 模拟按键输入</p>
<p>click() 单击元素,前提是它是可以被单击的对象。</p>
<p>另外click()方法不仅可以用于单击一个按钮,它还能可以单击任何可以单击的文字、图片、checkbox、radio、select下拉框等。</p>
<p>submit() 用于提交表单,同样可以用于提交一个按钮。</p>
<p>WebElement接口常用方法</p>
<p>先看例子:</p>
<p>from selenium import webdriver</p>
<p>driver &#61; webdriver.Firefox()</p>
<p>driver.get(r&#34;http://www.baidu.com/&#34;)</p>
<p>size &#61; driver.find_element_by_name(&#34;wd&#34;).size</p>
<p>print(size)      #size属性,返回元素的尺寸,表单输入框之类的width、height等</p>
<p>text &#61; driver.find_element_by_id(&#34;jgwab&#34;).text</p>
<p>print(text)      #text属性,获取元素的文本,可以用力判断打开的页面是否是预期的。</p>
<p>attribute &#61; driver.find_element_by_xpath(&#34;.//input[&#64;id&#61;&#39;kw&#39;]&#34;).get_attribute(&#39;maxlength&#39;)</p>
<p>print(attribute) #get_attribute()方法可以获取属性值</p>
<p>result &#61; driver.find_element_by_partial_link_text(&#34;京公网安备&#34;).is_displayed()</p>
<p>print(result)   #is_displayed() 元素是否设置可见,可见返回true则false</p>
<p>driver.quit()</p>
<p align="center"><img alt="" src=""></p>
<p>size属性返回元素尺寸</p>
<p>text属性返回元素文本</p>
<p>get_attribute()方法获取属性值</p>
<p>is_displayed()方法返回该元素是否设置可见</p>
<p>鼠标事件</p>
<p>对鼠标的操作:右击、双击、悬停、鼠标拖动等功能,</p>
<p>webdriver中对鼠标的操作的方法封装在ActionChains类中 ,使用前要先导入ActionChains类:</p>
<p>from selenium.webdriver.common.action_chains import ActionChains</p>
<p>ActionChains类提供的鼠标操作常用方法:</p>
<p>context_click()               右击</p>
<p>double_click()                双击</p>
<p>drag_and_drop()          拖动</p>
<p>move_to_element()     鼠标悬停</p>
<p>perform()                        执行所有ActionChains类中存储的行为,可以理解为对整个操作的提交动作</p>
<p>鼠标右键操作</p>
<p>from selenium import webdriver</p>
<p>from selenium.webdriver.common.action_chains import ActionChains  #导入ActionChains类</p>
<p>driver &#61; webdriver.Firefox()</p>
<p>driver.get(r&#34;https://yunpan.360.cn/&#34;)</p>
<p>driver.maximize_window ()</p>
<p>driver.find_element_by_xpath(&#34;//*[&#64;name&#61;&#39;account&#39;]&#34;).clear()</p>
<p>driver.find_element_by_xpath(&#34;//*[&#64;name&#61;&#39;account&#39;]&#34;).send_keys(&#34;username.com&#34;)</p>
<p>driver.find_element_by_name(&#34;password&#34;).clear()</p>
<p>driver.find_element_by_name(&#34;password&#34;).send_keys(&#34;pwd&#34;)</p>
<p>driver.find_element_by_xpath(&#34;//*[&#64;id&#61;&#39;login&#39;]/div/div[2]/form/p[4]/label/input&#34;).click()</p>
<p>driver.find_element_by_xpath(&#34;//*[&#64;id&#61;&#39;login&#39;]/div/div[2]/form/p[5]/input&#34;).click()</p>
<p>#定位到需要右击的元素</p>
<p>right_click &#61; driver.find_element_by_link_text(&#34;jemeter&#34;)</p>
<p>#对定位到的元素执行鼠标邮件操作,调用ActionChains类,将浏览器驱动driver作为参数传入,context_click()需要指定元素位置</p>
<p>ActionChains(driver).context_click(right_click).perform()</p>
<p>鼠标双击操作</p>
<p>double_click()方法模拟鼠标双击操作</p>
<p>(单击查看详情,双击弹出修改页面就用这个方法模拟)</p>
<p>from selenium import webdriver</p>
<p>from selenium.webdriver.common.action_chains import ActionChains</p>
<p>driver &#61; webdriver.Firefox()</p>
<p>driver.get(r&#34;http://www.baidu.com/&#34;)</p>
<p>....</p>
<p>#定位需要双击的元素</p>
<p>double_click &#61; driver.find_element_by_xpath(&#34;&#34;)</p>
<p>#对定位到的元素进行双击操作</p>
<p>ActionChains(driver).double_click(double_click).perform()</p>
<p>a &#61; driver.find_element_by_class_name(&#34;&#34;)</p>
<p>ActionChains(driver).doubl
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP