Microsoft Edge:与Chrome类似,使⽤linux+jenkins时遇到的⿇烦是,浏览器和driver的环境都配置了,但是运⾏脚本依旧报错,说 No matching capabilities found,尝试多种⽅法依旧不⾏。
IE: 不推荐,⽆法直接copy元素的Xpath等信息,需要另外配置插件。
总结:所有 的Web我的脚本在本地跑都没有问题(除了firefox,公司⾃⾝限制需要验证框),但是放到服务器平台上定时跑就会出现问题,所以建议在开始做⼯具前,先把打开⽹页的脚本放到服务器环境中试运⾏,再进⾏选择适配的Web,否则后续操作很⿇烦。
2. Web开发中运⾏脚本时有两种模式——有头模式和⽆头模式(静默模式)。
⾸先需要把对应浏览器的驱动(xxxdriver, 如,chrome浏览器的驱动就是chromedriver,可以到官⽹下载,浏览器和驱动的版本本需要相对应)装到python路径下,把驱动路径添加到环境变量⾥
有头模式:运⾏脚本时,打开⽹页爬取数据
⽆头模式(静默模式):运⾏脚本时,不打开⽹页爬取数据(后台运⾏,⽅便省事)
各种Web的头部定义代码:
Chrome:xxxx:指你的存放路径,如果放在...python/Scripts/的路径下的话,这项参数可以删除,变成browser = webdriver.Chrome(chrome_options=option)也⾏。
⽆头模式
1from selenium import webdriver
2
3option = webdriver.ChromeOptions()
4option.add_argument('headless')
5option.add_argument('--disable-gpu')
6browser = webdriver.Chrome(executable_path=r'xxxx', chrome_options=option)
有头模式
把上⾯的
option.add_argument('headless')
option.add_argument('--disable-gpu')
1from selenium import webdriver
2
3option = webdriver.ChromeOptions()
4browser = webdriver.Chrome(executable_path=r'xxxx', chrome_options=option)
Firefox:与Chrome类似
⽆头模式
1from selenium import webdriver
2option = webdriver.FirefoxOptions()
3option.add_argument('headless')
4option.add_argument('--disable-gpu')
5browser = webdriver.Firefox(executable_path=r"xxxx", firefox_options=option)
有头模式
1from selenium import webdriver
2option = webdriver.FirefoxOptions()
3browser = webdriver.Firefox(executable_path=r"xxxx", firefox_options=option)
IE:也类似
⽆头模式
1from selenium import webdriver
2option = webdriver.IeOptions()
3option.add_argument('headless')
4option.add_argument('--disable-gpu')
5browser = webdriver.Ie(executable_path=r"xxxx", ie_options=option)
有头模式
1from selenium import webdriver
2option = webdriver.IeOptions()
selenium获取cookie3browser = webdriver.Ie(executable_path=r"xxxx", ie_options=option) Microsoft Edge:⽐较特殊
⽆头模式
1from msedge.selenium_tools import EdgeOptions
2from msedge.selenium_tools import Edge
3
4edge_options = EdgeOptions()
5edge_options.use_chromium = True
6edge_options.add_argument('headless')
7edge_options.add_argument('--disable-gpu')
8browser = Edge(executable_path=r"xxxx",options=edge_options)
有头模式
1from msedge.selenium_tools import EdgeOptions
2from msedge.selenium_tools import Edge
3
4edge_options = EdgeOptions()
5browser = Edge(executable_path=r"xxxx",options=edge_options)
写完头部后,就可以开启定位之旅了
⾸先⽤(你要打开的⽹页⽹址),打开⽹页
采⽤selenium等待⽅式进⾏延时,我⼀般强制等待和隐性等待混着⽤。selenium常⽤等待⽅式:
⽤合适的元素定位⽅法进⾏元素定位,实习⾃动化⽬标
如:browser.find_element_by_id('idSIButton9').click()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论