Python selenium PO  By.XPATH定位元素报错 如下代码经常报错: # 首页的“新建投放计划”按钮 new_ads_plan = (By.XPATH, "//*[text()='百度新闻']/..") print(type(self.new_ads_plan)) self.driver.find_element(self.new_ads_plan).click() 运行经常报错:selenium.common.exceptions.WebDriverExcepti…
一.selenium中iframe切换方法: 方法一:switch_to.frame frame函数中提供了三种定位方法:by index, name, or webelement. driver.switch_to.frame('frame_name') driver.switch_to.frame(1) driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0]) 以腾讯课堂为例: from seleni…
感谢:小琰子 Python+Selenium 脚本中的一些js的用法汇总: 1.滚动条 driver.set_window_size(500,500) js = "window.scrollTo(0,200)" #左:距左边横滚.右:距上边竖滚driver.execute_script(js) 2.获取元素的值 button = driver.find_element_by_css_selector("#su") #定位按钮 input = driver.find_…
世界上最远的距离大概就是明明看到一个页面元素矗在那里,但是我却定位不到!! selenium定位元素的方法有很多种,像是通过id.name.class_name.tag_name.link_text等等,但是这些方法局限性太大,拿id属性来说,首先一定不会每个元素都有id属性,其次元素的id属性也不一定是固定不变的.所以这些方法了解一下即可,我们真正需要熟练掌握的是通过xpath和css定位,一般只要掌握一种就可以应对大部分定位工作了. 下面总结一下xpath的定位方法,结合自己练习的实例加深一…
一.前言 总结一下python+selenium select下拉选择框定位处理的两种方式,以备后续使用时查询: 二.直接定位(XPath) 使用Firebug找到需要定位到的元素,直接右键复制XPath,使用find_element_by_xpath定位: driver = webdriver.Firefox() driver.get("https://www.baidu.com/") driver.find_element_by_xpath().click() 三.间接定位(Sel…
iframe是HTML里面嵌套HTML的一种框架 1.查看iframe 1.Top Window:可直接定位 2.iframe#i:说明此元素在iframe上 3.iframe显示为空:(id或name为空) 4.右边这个看到是空的(2层iframe) 以126邮箱为例 from selenium import webdriverdriver = webdriver.Firefox()url = "http://mail.126.com/"driver.get(url) # 此时使用c…
方法一:通过索引,id,name,WebElement定位 from selenium import webdriverdriver = webdriver.Firefox()driver.switch_to.frame(0) # 1.用frame的index来定位,第一个是0# driver.switch_to.frame("frame1") # 2.用id来定位# driver.switch_to.frame("myframe") # 3.用name来定位# d…
switch_to.frame()                               切换frame switch_to.default_content()                切换到主页面 #从frame中切回主文档 switch_to.parent_frame()                    这是switch_to中独有的方法,可以切换到上一层的frame,对于层层嵌套的frame很有用 # selenium给我们提供了一个方法能够从子frame切回到父fram…
这篇总结主要是关于两方面的需求:其一,在浏览器不同tab标签页之间按时间切换(同事用来不停刷新grid crontol 监控页面):其二,实现开启多个窗口,并将窗口缩放到一定范围,并齐占满整个桌面,按不同的时间间隔刷新几个页面. 一.标签页之间切换 之前这个通过找了一个浏览器插件tab-rotator实现了其需求,并未写程序实现,后面没事的时候网上翻selenium资料写了一个,内容如下: #code by www.111cn.netfrom selenium.webdriver.common.…
from selenium import webdriverfrom selenium.webdriver.common.by import Byimport time driver = webdriver.Firefox()driver.get("http://bj.ganji.com/")time.sleep(3) 1.获取句柄 # 获取当前的handle名字handle = driver.current_window_handleprint(f"获取到当前的handle…