selenium启动chrome,ie,Firefox浏览器
selenium设置proxy、...
selenium设置proxy、...本⽂介绍了selenium设置proxy、headers的⽅法,把phantomjs、Chrome、Firefox⼏个浏览器的设置⽅法都总结⼀下,分享给⼤家,也给⾃⼰留个笔记phantomjs设置ip⽅法1:service_args = ['--proxy=%s' % ip_html, # 代理 IP:prot (eg:192.168.0.28:808)'--proxy-type=http', # 代理类型:http/https‘--load-images=no', # 关闭图⽚加载(可选)'--disk-cache=yes', # 开启缓存(可选)'--ignore-ssl-errors=true' # 忽略https错误(可选)]driver = webdriver.PhantomJS(service_args=service_args)⽅法2:browser=webdriver.PhantomJS(PATH_PHANTOMJS)# 利⽤DesiredCapabilities(代理设置)参数值,重新打开⼀个sessionId,我看意思就相当于浏览器清空缓存后,加上代理重新访问⼀次urlproxy=webdriver.Proxy()proxy.proxy_type=ProxyType.MANUALproxy.http_proxy='1.9.171.51:800'# 将代理设置添加到webdriver.DesiredCapabilities.PHANTOMJS中proxy.add_to_capabilities(webdriver.DesiredCapabilities.PHANTOMJS)browser.start_session(webdriver.DesiredCapabilities.PHANTOMJS)browser.get('/ic.asp')print('1: ',browser.session_id)print('2: ',browser.page_source)print('3: ',browser.get_cookies())还原为系统代理# 还原为系统代理proxy=webdriver.Proxy()proxy.proxy_type=ProxyType.DIRECTproxy.add_to_capabilities(webdriver.DesiredCapabilities.PHANTOMJS)browser.start_session(webdriver.DesiredCapabilities.PHANTOMJS)browser.get('/ic.asp')设置请求头⽅法2import random,requests,jsonfrom selenium import webdriverfrom mon.desired_capabilities import DesiredCapabilitiesfrom mon.proxy import ProxyType#随机获取⼀个ipdef proxies():r = requests.get("http://120.26.166.214:9840/JProxy/update/proxy/scoreproxy")rr = json.loads(r.text)hh = rr['ip'] + ":" + "8907"print(hh)return hhips =proxies()#设置phantomjs请求头和代理⽅法⼀:#-------------------------------------------------------------------------------------# 设置代理service_args = ['--proxy=%s' % ips, # 代理 IP:prot (eg:192.168.0.28:808)'--ssl-protocol=any', #忽略ssl协议'--load - images = no', # 关闭图⽚加载(可选)'--disk-cache=yes', # 开启缓存(可选)'--ignore-ssl-errors=true' # 忽略https错误(可选)]#设置请求头user_agent = ("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) " +"AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36")dcap = dict(DesiredCapabilities.PHANTOMJS)dcap["erAgent"] = user_agentdriver = webdriver.PhantomJS(executable_path=r"C:\soft\phantomjs-2.1.1-windows\bin\phantomjs.exe",desired_capabilities=dcap,service_args=service_args)driver.get(url='')page=driver.page_sourceprint(page)#设置phantomjs请求头和代理⽅法⼆:#-------------------------------------------------------------------------------------desired_capabilities = DesiredCapabilities.PHANTOMJS.copy()# 从USER_AGENTS列表中随机选⼀个浏览器头,伪装浏览器desired_capabilities["erAgent"] = (random.choice('请求头池'))# 不载⼊图⽚,爬页⾯速度会快很多desired_capabilities["phantomjs.page.settings.loadImages"] = False# 利⽤DesiredCapabilities(代理设置)参数值,重新打开⼀个sessionId,我看意思就相当于浏览器清空缓存后,加上代理重新访问⼀次url proxy = webdriver.Proxy()proxy.proxy_type = ProxyType.MANUALproxy.http_proxy = random.choice('ip池')proxy.add_to_capabilities(desired_capabilities)phantomjs_driver = r'C:\phantomjs-2.1.1-windows\bin\phantomjs.exe'# 打开带配置信息的phantomJS浏览器driver = webdriver.PhantomJS(executable_path=phantomjs_driver,desired_capabilities=desired_capabilities)driver.start_session(desired_capabilities)driver.get(url='')page=driver.page_sourceprint(page)# 隐式等待5秒,可以⾃⼰调节driver.implicitly_wait(5)# 设置10秒页⾯超时返回,类似于requests.get()的timeout选项,driver.get()没有timeout选项# 以前遇到过driver.get(url)⼀直不返回,但也不报错的问题,这时程序会卡住,设置超时选项能解决这个问题。
Python+Selenium:初步使用Chrome谷歌浏览器
Python+Selenium:初步使⽤Chrome⾕歌浏览器·············环境结合···············我的环境:window10 64位Python 3.7 32-bitselenium 3.141.0Google Chrome 92.0.4515.107 (正式版本) (32 位)···························································································⼀、配置selenium环境:1、查看对应Chrome版本(笔者已经更新为最新浏览器版本):打开⾕歌浏览器——》浏览器输⼊地址chrome://version/——》查看关于Chrome版本Google Chrome 92.0.4515.107 (正式版本) (32 位) (cohort: 92_win_107)2、下载Chrome⾕歌浏览器对应版本的驱动: Chrome Drivechromedriver下载⽹址:/index.html选择版本为92.0.4515.43(正式版本)的选项——》选择合适⾃⼰电脑⾕歌的chromedriver版本(note.txt是介绍⽂档)下载后解压⾄Python安装⽬录下的Scripts⽬录下(图⽚⾥⾯选中的就是解压后的⽂件)3、安装selenium⾸先检查是否已安装seleniumpip list查看是否安装过selenium确认没有安装打开命令⾏输⼊pip install selenium等待安装完成。
selenium基本使用流程
selenium基本使用流程Selenium基本使用1. 简介•Selenium是一种自动化测试工具,常用于Web应用程序的功能测试。
•它能够模拟人工操作浏览器,实现自动化的网页操作和数据抓取。
•Selenium支持多种浏览器,包括Chrome、Firefox和Safari等。
2. 安装•安装Selenium需要使用命令行工具,常见的安装方法为使用pip 命令进行安装。
•打开命令行工具,输入以下命令进行安装:pip install selenium•安装完成后,我们就可以在Python中使用Selenium进行自动化测试了。
3. 配置WebDriver•在使用Selenium进行自动化测试之前,我们需要下载并配置相应的WebDriver。
•WebDriver是Selenium的核心组件之一,它负责控制浏览器的行为。
•通过WebDriver,我们可以模拟用户在浏览器中的各种操作,并获取浏览器返回的数据。
•比如,我们可以使用WebDriver打开指定的URL、点击页面元素、填写表单等操作。
4. 打开浏览器•要在Python中使用Selenium打开浏览器,我们需要引入相应的库。
•比如,如果我们使用Chrome浏览器,可以通过以下代码打开一个Chrome浏览器窗口:from selenium import webdriverdriver = ()5. 访问网页•一旦我们成功打开了浏览器,就可以使用WebDriver访问指定的网页。
•例如,要访问百度的首页,可以使用以下代码:("6. 查找元素•在自动化测试中,经常需要对页面元素进行操作或获取元素的属性。
•Selenium提供了丰富的方法来查找元素,包括根据ID、Class、Tag等属性进行查找。
•例如,要通过ID查找一个输入框,并输入文本,可以使用以下代码:element = _element_by_id("input_box")_keys("Hello Selenium")7. 执行操作•通过Selenium,我们可以模拟用户在浏览器中的各种操作,比如点击按钮、提交表单等。
selenium的webdriver用法
Selenium的webdriver用法1. 简介Selenium是一个用于自动化Web浏览器的工具,它支持多种浏览器和操作系统,并提供了丰富的API来控制浏览器的行为。
其中,webdriver是Selenium的一个子项目,它提供了一组用于控制浏览器的API,可以模拟用户在浏览器中的操作。
2. 安装webdriver要使用webdriver,首先需要安装Selenium库。
可以通过以下命令使用pip安装Selenium:pip install selenium安装完成后,可以导入webdriver模块开始使用。
3. 启动浏览器使用webdriver可以启动各种浏览器,包括Chrome、Firefox、Safari等。
下面以Chrome浏览器为例,介绍如何启动浏览器。
from selenium import webdriver# 启动Chrome浏览器driver = webdriver.Chrome()在上述代码中,我们通过导入webdriver模块创建了一个Chrome浏览器的实例。
如果系统中已经安装了Chrome浏览器,并将其添加到了系统的环境变量中,那么webdriver会自动找到并启动Chrome浏览器。
如果没有安装Chrome浏览器,可以从官方网站下载并安装。
启动浏览器后,可以使用driver对象来控制浏览器的行为。
4. 打开网页使用webdriver打开网页非常简单,只需要调用get()方法并传入网页的URL即可。
driver.get("")上述代码将会打开一个新的浏览器窗口,并加载指定的网页。
5. 查找元素webdriver提供了一系列方法来查找网页中的元素,比如文本框、按钮、链接等。
常用的查找元素的方法有以下几种:•find_element_by_id(id):通过元素的id属性查找元素。
•find_element_by_name(name):通过元素的name属性查找元素。
selenium+python的使用方法
selenium+python的使用方法摘要:1.Selenium 简介与安装2.常用浏览器驱动3.浏览器常用功能4.对象定位与查找5.实际应用案例:爬取QQ空间正文:一、Selenium 简介与安装Selenium 是一个强大的Web 自动化测试工具,支持多种浏览器和平台。
在Python 中使用Selenium,可以方便地进行网页自动化操作。
首先需要安装Selenium 库,通过pip 命令即可完成安装:`pip install selenium`。
二、常用浏览器驱动Selenium 需要搭配浏览器驱动程序使用。
常见的浏览器驱动包括Chrome、Firefox、IE 等。
以下分别为不同浏览器驱动的调用方法:1.谷歌浏览器(Chrome)```pythonfrom selenium import webdriverdriver = webdriver.Chrome()```2.火狐浏览器(Firefox)```pythonfrom selenium import webdriverbrowser = webdriver.Firefox()```3.微软边缘浏览器(Edge)```pythonfrom selenium import webdriverdriver = webdriver.Edge()```4. Safari 浏览器```pythonfrom selenium import webdriverdriver = webdriver.Safari()```三、浏览器常用功能Selenium 提供了许多浏览器常用功能的API,如最大化窗口、设置窗口大小、前进、后退、关闭浏览器等。
以下是一些示例:1.最大化窗口```pythondriver.maximize_window()```2.设置窗口大小```pythondriver.set_window_size(480, 800)```3.前进和后退```pythondriver.forward() # 前进driver.back() # 后退```4.获取标题和网址```pythontitle = driver.titleurl = driver.current_url```四、对象定位与查找Selenium 提供了多种对象定位方法,可根据元素id、name、class_name、tag_name、link_text、partial_link_text、xpath 和css_selector 进行定位。
selenium 的用法
selenium 的用法Selenium 是一個自動化測試工具,通常用於網頁測試和網頁爬取。
以下是Selenium 的一些常見用法:1. 安裝Selenium:首先,要使用Selenium,必須安裝Selenium 的Python 庫。
通過執行以下命令可以安裝Selenium:pip install selenium2. 驅動器的設置:Selenium 需要一個特定的驅動器來控制不同的瀏覽器。
常見的驅動器有Chrome 驅動器、Firefox 驅動器和Edge 驅動器。
通過下載相應的驅動器並設置環境變量,即可應用Selenium 對該瀏覽器進行操作。
3. 啟動瀏覽器:使用Selenium 可以自動打開瀏覽器。
以下示例展示了如何啟動Google Chrome 瀏覽器:pythonfrom selenium import webdriverdriver = webdriver.Chrome() # 驅動器的路徑在系統環境變量中已設定4. 對網頁進行操作:Selenium 可以模擬用戶在瀏覽器上的操作,例如點擊按鈕、填寫表單、清除輸入框等等。
以下是一些示例操作:python# 瀏覽網址driver.get("# 透過ID 取得元素element = driver.find_element_by_id("element_id")# 點擊按鈕element.click()# 填寫表單element.send_keys("Hello World")# 清除輸入框element.clear()5. 網頁爬取:Selenium 可以模擬用戶操作瀏覽器,因此也可以用於網頁爬取。
例如,可以使用Selenium 開啟一個網頁,然後通過XPath 或CSS Selector 等方式找到需要的元素進行提取。
這只是Selenium 的一些基本用法,還有很多其他功能和技巧可以使用。
selenium学习2-启动浏览器
新建Java 项目结构:1.用JAVA去启动各种浏览器1.1启动火狐浏览器/** 1)声明driver对象(选择启动什么浏览器)* 2)driver去打开浏览器并输入你要测试的网页地址(使用get方法打开站点) * navigation 对象也可以打开地址* 3)找到你要操作的元素(利用webelement声明元素对象)* 4)对元素进行输入、点击、断言操作* 5)关闭浏览器,释放资源(弄明白quit、close方法的区别)*///启动火狐浏览器并在搜索框中输入“selenium”,点击搜索框publicstaticvoid myFireFox(){//若浏览器安装不在默认路径下,则需要通过System.setProperty()设置//System.setProperty("webdriver.firefox.bin", "C:/Program Files (x86)/MozillaFirefox/firefox.exe");WebDriverdr = new FirefoxDriver();dr.manage().window().maximize();//使启动的浏览器最大化Navigation ng = dr.navigate();ng.to("");// dr.get("");//也可以转到想要打开的页面// System.out.println(dr.getTitle());//获取输入框WebElementsearchinput = dr.findElement(("q"));//在搜索输入框中添加搜索信息searchinput.sendKeys("selenium");//获取搜索提交按钮WebElementsearchbutton = dr.findElement(By.id("search-button"));//模拟点击按钮searchbutton.click();//获取搜索框WebElementtt = dr.findElement(By.id("keyword"));//检测搜索框信息是否是“selenium”Assert.assertEquals(tt.getAttribute("value"), "selenium");try {Thread.sleep(3000);//等待3秒钟} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}dr.close();dr=null;}1.2启动IE浏览器//再启动其他浏览器的时候,以来各浏览器驱动,如果不想再System.setProperty()中设置,可以将驱动放到系统system32文件夹中//启动IE浏览器publicstaticvoid myIE(){//若将驱动未放在系统System32文件夹下,放在其他路径,需要通过下面设置一下// System.setProperty("webdriver.ie.bin", "files/IEDriverServer.exe");WebDriverdr = new InternetExplorerDriver();dr.manage().window().maximize();//使启动的浏览器最大化Navigation ng = dr.navigate();ng.to("");dr.close();dr=null;}1.3启动谷歌浏览器publicstaticvoid myChrome(){// System.setProperty("webdriver.chrome.bin","files/chromedriver.exe");WebDriverdr = new ChromeDriver();dr.manage().window().maximize();//使启动的浏览器最大化Navigation ng = dr.navigate();ng.to("");dr.close();dr=null;}1.4启动浏览器时加载插件//启动Firefox浏览器时加载插件publicstaticvoid myFireFoxPlugins(){//定义插件所在的位置File file = new File("files/firebug-2.0.13-fx.xpi");//声明一个Profile对象,里面保存file的信息。
Selenium启动Chrome时配置选项详解
Selenium启动Chrome时配置选项详解Selenium操作浏览器是不加载任何配置的,⽹上找了半天,关于Firefox加载配置的多点,Chrome资料很少,下⾯是关于加载Chrome配置的⽅法:⼀、加载所有Chrome配置⽤Chrome地址栏输⼊chrome://version/,查看⾃⼰的“个⼈资料路径”,然后在浏览器启动时,调⽤这个配置⽂件,代码如下:#coding=utf-8from selenium import webdriveroption = webdriver.ChromeOptions()option.add_argument('--user-data-dir=C:\Users\Administrator\AppData\Local\Google\Chrome\User Data') #设置成⽤户⾃⼰的数据⽬录driver = webdriver.Chrome(chrome_options=option)⼆、修改浏览器的User-Agent来伪装你的浏览器访问⼿机m站#coding=utf-8from selenium import webdriveroption = webdriver.ChromeOptions()option.add_argument('--user-agent=iphone')driver = webdriver.Chrome(chrome_options=option)driver.get('/')三、浏览器启动时安装crx扩展#coding=utf-8from selenium import webdriveroption = webdriver.ChromeOptions()option.add_extension('d:\crx\AdBlock_v2.17.crx') #⾃⼰下载的crx路径driver = webdriver.Chrome(chrome_options=option)driver.get('/')下边是收集的⼀些配置信息:⼀些Chrome的地址栏命令(这些命令会不停的变动,所有不⼀定都是好⽤的)在Chrome的浏览器地址栏中输⼊以下命令,就会返回相应的结果。
易语言selenium模块详解
易语言selenium模块详解Selenium是一个自动化测试工具,它可以模拟用户在浏览器中的行为,例如点击、输入、提交表单等。
易语言的Selenium模块是对Selenium WebDriver的封装,方便易语言开发者使用Selenium进行测试。
以下是易语言Selenium模块的一些常用功能和方法的详解:1. 启动浏览器:可以使用`Selenium启动浏览器`函数来启动指定的浏览器。
目前支持的浏览器包括Chrome、Firefox、IE等。
2. 访问网页:可以使用`Selenium浏览器访问`函数来访问指定的网页。
参数是一个字符串,表示要访问的网页URL。
3. 查找元素:可以使用`Selenium查找元素`函数来查找页面中的元素。
参数是一个字符串,表示要查找的元素的选择器,例如通过ID、CSS选择器、XPath等。
4. 操作元素:可以使用`Selenium点击元素`、`Selenium输入文本`等函数来操作找到的元素。
参数是一个字符串,表示要操作的元素的选择器,以及要执行的操作,例如点击、输入的文本等。
5. 等待页面加载:可以使用`Selenium等待页面加载`函数来等待页面加载完成。
参数是一个整数,表示等待的时间,单位是秒。
6. 切换窗口:可以使用`Selenium切换窗口`函数来切换浏览器窗口。
参数是一个整数,表示要切换的窗口的索引。
7. 执行JavaScript:可以使用`Selenium执行JavaScript`函数来执行一段JavaScript代码。
参数是一个字符串,表示要执行的JavaScript代码。
通过以上函数的组合,就可以实现自动化测试脚本的编写。
易语言的Selenium模块提供了丰富的功能和方法,使得测试脚本的编写变得简单而高效。
selenium option参数
Selenium 是一个用于 Web 应用程序测试的强大工具。
它允许用户模拟用户在浏览器中的操作,如点击、输入和导航。
用户可以使用Selenium WebDriver 来控制浏览器,并对 Web 页面进行自动化测试。
Selenium WebDriver 提供了一系列的选项参数,用于控制测试的行为和设置。
这些选项参数可以通过在创建 WebDriver 实例时传入参数来进行配置。
本文将介绍一些常用的Selenium WebDriver 选项参数,并对它们进行详细的解释和讨论。
1. chromeOptionschromeOptions 是用于配置 Chrome 浏览器的选项参数类。
它允许用户设置一系列参数,如浏览器的启动行为、代理设置、浏览器窗口大小等。
以下是一些常用的 chromeOptions 参数:1.1 argsargs 参数允许用户设置 Chrome 浏览器的启动参数。
这些参数可以用于配置浏览器的行为,如禁用图片加载、设置浏览器窗口大小等。
用户可以通过设置 args 参数来禁用图片加载:```pythonfrom selenium import webdriverchrome_options = webdriver.ChromeOptions()chrome_options.add_argument('--disable-images')driver = webdriver.Chrome(chrome_options=chrome_options) ```1.2 binary_locationbinary_location 参数允许用户指定 Chrome 可执行文件的路径。
这在用户的系统中安装了多个版本的 Chrome 浏览器时非常有用。
用户可以通过设置 binary_location 参数来指定特定版本的 Chrome 可执行文件:```pythonfrom selenium import webdriverchrome_options = webdriver.ChromeOptions()chrome_options.binary_location = '/path/to/chrome/binary' driver = webdriver.Chrome(chrome_options=chrome_options) ```2. firefoxOptionsfirefoxOptions 是用于配置 Firefox 浏览器的选项参数类。
使用selenium控制已打开的浏览器
使⽤selenium控制已打开的浏览器转⾃:在使⽤selenium进⾏⾃动化测试中我们有时会遇到这样的情况:我们需要⼿动打开浏览器,进⼊到所需的页⾯,执⾏⼀些⼿动任务,如输⼊表单、输⼊验证码,登陆成功后,然后再开始运⾏⾃动化脚本。
这种情况下如何使⽤selenium来接管先前已打开的浏览器呢?这⾥给出Google Chrome浏览器的解决⽅案。
我们可以利⽤Chrome DevTools协议。
它允许客户检查和调试Chrome浏览器。
打开cmd,在命令⾏中输⼊命令:chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"对于-remote-debugging-port值,可以指定任何打开的端⼝。
对于-user-data-dir标记,指定创建新Chrome配置⽂件的⽬录。
它是为了确保在单独的配置⽂件中启动chrome,不会污染你的默认配置⽂件。
还有,不要忘了在环境变量中PATH⾥将chrome的路径添加进去。
此时会打开⼀个浏览器页⾯,我们输⼊百度⽹址,我们把它当成⼀个已存在的浏览器:现在,我们需要接管上⾯的浏览器。
新建⼀个python⽂件,运⾏以下代码:from selenium import webdriverfrom selenium.webdriver.chrome.options import Optionschrome_options = Options()chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")chrome_driver = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe"driver = webdriver.Chrome(chrome_driver, chrome_options=chrome_options)print(driver.title)会发现打印出了 “百度⼀下,你就知道” 的⽹页标题。
python selenium 用法
python selenium 用法PythonSelenium是一种基于Python的自动化测试工具,它可以用于 Web 应用程序测试、网站数据爬取以及用户行为模拟等多种场景。
Python Selenium 能够模拟用户在浏览器中的操作,如点击、输入、滚动等,从而完成自动化测试或爬虫任务。
以下是 Python Selenium 的基本用法:1. 安装 selenium 模块:使用 pip 命令安装,如 pip install selenium。
2. 配置浏览器驱动:Python Selenium 需要依赖浏览器驱动才能执行操作。
常用的浏览器驱动有 ChromeDriver 和 GeckoDriver。
在使用时,需要先下载相应的驱动程序,并将其路径添加到环境变量中。
3. 创建浏览器对象:使用 webdriver 模块中的相应类来创建浏览器对象,如 Chrome、Firefox、Edge 等。
创建后即可通过对象调用浏览器的各种方法。
4. 访问网页:使用 get() 方法可以访问指定的网页。
5. 查找元素:通过 find_element_by_xxx() 方法可以查找网页中的元素,如 id、class、tag 等。
找到元素后即可进行相应的操作,如点击、输入、获取属性等。
6. 等待元素加载:使用 WebDriverWait 类可以等待某个元素加载完成后再进行操作,避免因网速等原因导致的操作失败。
7. 控制浏览器:使用 WebDriver 提供的方法可以控制浏览器的行为,如窗口大小、前进后退、刷新等。
Python Selenium 具有强大的自动化测试和爬虫功能,同时也有一定的学习门槛。
使用 Python Selenium 进行测试或爬虫时,需要了解 HTML、CSS、JavaScript 等相关知识。
对于初学者,建议先学习 Python 基础和基本的 Web 开发知识,再逐步学习 Python Selenium 的用法。
Selenium使用ChromeOptions启动参数
Selenium使⽤ChromeOptions启动参数Selenium是⼀个⽀持多平台+多浏览器+多版本的浏览器⾃动化测试框。
Selenium在启动浏览器时可以通过desired_capbilities参数来指定需要启动的平台、浏览器、版本及浏览器启动参数。
ChromeOptions是chromedriver⽀持的浏览器启动选项。
from selenium import webdriveroptions = webdriver.ChromeOptions()options常⽤属性及⽅法为:binary_location='':指定Chrome浏览器路径debuger_address=':指定调试路径headless: ⽆界⾯模式add_argument():添加启动参数add_extension:添加本地插件add_experimental_option:添加实验选项to_capablilities:将options转为标准的capablitiies格式通过add_argument()可以添加启动参数,如初始化窗⼝尺⼨,隐⾝模式等。
options.add_argument('headless') # ⽆界⾯启动,也可以直接设置options.headless=Truedriver = webdriver.Chrome(options=options) # 相当于 driver = webdriver.Chrome(desired_capabilities=options.to_capablities())然⽽由于Chrome浏览器及chromedriver版本不断更新,笔者发现有些参数在Mac 80版Chrome + 80版chromedriver中⽆法⽣效⽣效的ChromeOptions参数# ⽆界⾯模式options.add_argument('headless')# 指定⽤户客户端-模拟⼿机浏览options.add_argument('user-agent="MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"') # 禁⽤图⽚加载options.add_argument('blink-settings=imagesEnabled=false')# 隐⾝模式options.add_argument('incognito')# ⾃动打开开发者⼯具options.add_argument("auto-open-devtools-for-tabs")# 设置窗⼝尺⼨,注意宽⾼之间使⽤逗号⽽不是xoptions.add_argument('window-size=300,600')# 设置窗⼝启动位置(左上⾓坐标)options.add_argument('window-position=120,0')# 禁⽤gpu渲染options.add_argument('disable-gpu')# 全屏启动options.add_argument('start-fullscreen')# 全屏启动,⽆地址栏options.add_argument('kiosk')# 启动时,不激活(前置)窗⼝options.add_argument('no-startup-window')...⽆效的参数options.add_argument('--start-maximized') # 最⼤化启动,⽆效options.add_argument('url=https:///') # 设置启动的url,⽆效options.add_argument('disable-infobars') # 禁⽤inforbar,⽆效options.add_argument('hide-scrollbars') # 隐藏滚动条,⽆效原因尚不清楚,有知道或解决⽅法的欢迎留⾔。
selenium的使用方法
selenium的使用方法
Selenium是一个自动化测试工具,可以模拟用户真实操作浏览器进行测试。
下面是Selenium的使用方法:
1. 安装Selenium
首先需要下载Selenium的WebDriver,根据自己使用的浏览器和操作系统选择对应的WebDriver,并将其加入系统环境变量中。
2. 创建WebDriver
使用Selenium的WebDriver来启动浏览器,可以选择使用Chrome、Firefox等主流浏览器。
3. 访问网站
在浏览器启动后,使用get方法访问目标网站。
4. 定位元素
使用Selenium提供的方法来定位网页的元素,可以根据元素的id、name、class等属性进行定位。
5. 操作元素
找到目标元素后,可以使用Selenium提供的方法来操作元素,比如点击按钮、输入文本等。
6. 断言结果
完成操作后,可使用断言语句来判断测试结果是否正确。
7. 关闭浏览器
测试完成后,需要关闭浏览器,使用WebDriver提供的close方法即可。
以上就是Selenium的基本使用方法,可以根据实际测试需求来编写测试脚本。
selenium设置浏览器为headless无头模式(Chrome和Firefox)
selenium设置浏览器为headless⽆头模式(Chrome和Firefox)新版本的selenium已经明确警告将不⽀持PhantomJS,建议使⽤headless的Chrome或FireFox。
两者使⽤⽅式⾮常类似,基本步骤为:下载驱动创建选项,设定headless创建WebDriver,指定驱动位置和选项对URL发起请求,获得结果,进⾏解析Chrome接下来创建选项并设定headless:options = webdriver.ChromeOptions()options.set_headless()创建WebDriver,指定驱动位置和选项:driver = webdriver.Chrome('D://chromedriver_win32//chromedriver', chrome_options=options)发起请求,获得结果并进⾏解析:driver.get('/')time.sleep(3)print(driver.page_source)driver.close()Firefox启动的步骤与Chrome⼀致,只不过使⽤的选项对象和创建的WebDriver对象略有不同。
直接上源代码:options = webdriver.FirefoxOptions()options.set_headless()driver = webdriver.Firefox(firefox_options=options,executable_path='D:/geckodriver-win64/geckodriver')driver.get('/')time.sleep(3)print(driver.page_source)driver.close()SELENIUM使⽤HEADLESS⽆头模式实现⽆界⾯运⾏先导包:from selenium.webdriver.chrome.options import Options加⼊如下配置:chrome_options = Options()chrome_options.add_argument('--window-size=1920,1080') # 设置窗⼝界⾯⼤⼩chrome_options.add_argument('--headless')driver = webdriver.Chrome(chrome_options=chrome_options)参考代码:from selenium import webdriverimport timeimport multiprocessingfrom selenium.webdriver.chrome.options import Optionsclass Zutuan():def __init__(self):"""打开浏览器"""self.chrome_options = Options()self.chrome_options.add_argument('--window-size=1920,1080')self.chrome_options.add_argument('--headless')self.driver = webdriver.Chrome(chrome_options=self.chrome_options)def open_zutuan(self, url):"""传⼊组团url"""self.driver.get(url)#self.driver.maximize_window()self.driver.refresh()#time.sleep(0.01)self.driver.implicitly_wait(30) # todo implicitly隐式等待,等待元素可见def option_element(self, user, password):"""xpath定位元素"""self.driver.find_element_by_xpath('//div[@class="login a"]/i').click()time.sleep(0.01)self.driver.find_element_by_xpath('//div[@class="a-title"]').click()self.driver.find_element_by_xpath('//input[@type="text" or @class="userName"]').send_keys(user)self.driver.find_element_by_xpath('//input[@type="password"]').send_keys(password)self.driver.find_element_by_xpath('//div[@class="button"]').click()time.sleep(1)self.driver.refresh()def select_commodity(self, content):"""搜索组团商品"""# TODO self.content实例属性传给下⾯的⽅法使⽤,如果想把值给下⾯的⽅法⽤,添加实例属性解决self.content = contentself.driver.find_element_by_xpath('//input[@type="text"]').send_keys(content)self.driver.find_element_by_xpath('//div[@class="search"]').click()self.driver.refresh()#return contentdef result(self):"""判断搜索商品成功后的提⽰信息,断⾔页⾯是否成功"""if self.content in self.driver.page_source:#print(self.content)print('商品搜索成功,测试通过')else:print('商品搜索错误,测试失败')def closed(self):"""关闭浏览器"""time.sleep(1)self.driver.quit()def run1():# TODO 根据操作顺序,调⽤⽅法执⾏zt = Zutuan()zt.open_zutuan('/index.html#/')zt.option_element('1489088761@', 'mg123456')zt.select_commodity('⾹蕉')zt.result()zt.closed()class View_details(Zutuan):"""把商品添加为明星单品,"""def check_commodity(self, number):"""进⼊商品详情页,点击添加明星单品"""self.driver.find_element_by_xpath('//a[@target="_blank"]/img').click()self.driver.switch_to.window(self.driver.window_handles[1])self.driver.find_element_by_xpath('//div[@class="child start"]').click()self.driver.find_element_by_xpath('//div[@class="el-dialog__body"]//input[@type="text"]').send_keys(number) self.driver.find_element_by_xpath('//button[@type="button" and @class="el-button el-button--danger"]').click() time.sleep(1)def result(self):"""重写⽗类⽅法,判断商品添加成功后的提⽰信息,断⾔页⾯是否成功"""if '添加成功' in self.driver.page_source:print('商品添加成功,测试通过')else:print('商品添加失败,测试失败')# 调⽤⽗类⽅法关闭super().closed()def run2():vd = View_details()vd.open_zutuan('/index.html#/')vd.option_element('1489088761@', 'mg123456')vd.select_commodity('苹果')vd.check_commodity(91628)vd.result()def main():p1 = multiprocessing.Process(target=run1)p2 = multiprocessing.Process(target=run2)p1.start()p2.start()if __name__ == '__main__':main()到此这篇关于selenium设置浏览器为headless⽆头模式(Chrome和Firefox)的⽂章就介绍到这了,更多相关selenium 浏览器为headless⽆头模式内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
selenium启动Chrome配置参数问题
selenium启动Chrome配置参数问题每次当selenium启动chrome浏览器的时候,chrome浏览器很⼲净,没有插件、没有收藏、没有历史记录,这是因为selenium在启动chrome时为了保证最快的运⾏效率,启动了⼀个裸浏览器,这就是为什么需要配置参数的原因,但是有些时候我们需要的不仅是⼀个裸浏览器。
selenium启动配置参数接收是ChromeOptions类,创建⽅式如下:selenium option = webdriver.ChromeOptions()创建了ChromeOptions类之后就是添加参数,添加参数有⼏个特定的⽅法,分别对应添加不同类型的配置项⽬。
设置 chrome ⼆进制⽂件位置 (binary_location)selenium option =option.debugger_address()常⽤配置参数:selenium option =options.add_argument(options.add_argument(chrome_options.add_argument(options.add_argument(options.add_argument(options.add_argument(options.add_argument(options.binary_location = roption.add_extension(option.add_argument(options.add_experimental_option(, [prefs = : 2options.add_experimental_option(driver=webdriver.Chrome(chrome_options=chrome_options)浏览器地址栏参数:在浏览器地址栏输⼊下列命令得到相应的信息about:version - about:memory - about:plugins - about:histograms - about:dns - about:cache - about:gpu - chrome://extensions/ - 查看已经安装的扩展其他配置项⽬参数:–user-data-dir= –disk-cache-dir= –disk-cache-size= –disable- --omnibox-popup-count= --user-agent= --disable- --disable- --disable- --start- --no- --single- --process-per- --process-per- ---process- --disable-popup- --disable- --disable- -- --enable-udd- --proxy-pac- --lang=zh- --disk-cache- --disk-cache- --media-cache- --bookmark- --enable-。
Selenium启动Chrome插件(ChromeExtensions)
Selenium启动Chrome插件(ChromeExtensions)需求描述:在使⽤WebDriver启动Chrome浏览器时式启动⼀个默认设置(⽐较⼲净)的浏览器,但是我在⾃动化测试的过程中需要⽤到插件。
实现⽅法:其⼀:启动浏览器的同时直接取安装包.crx⽂件进⾏安装;下载所需要的插件安装包⽂件.crx,存储到本地,或者存储到项⽬⽂件夹⾥⾯。
然后代码如下:public class openPDFinFirefox extends PdfPage{public WebDriver driver =null;@BeforeMethodpublic void startUp() {ChromeOptions options = new ChromeOptions();/** ⽅法2:安装包直接安装(.crx⽂件)*/options.addExtensions(new File("test/resources/Extensions/pdf-viewer_v2.0.673.crx"));//插件⽂件直接放到项⽬⽂件夹下,当然你需要的插件请⾃⾏下载。
driver = new ChromeDriver(options);driver.manage().window().maximize();/* FireFox 浏览器* *///driver = new FirefoxDriver();}@Testpublic void test() throws Exception {String url = "https://";driver.get(url);Thread.sleep(10);//到这⾥你应该是可以看到你想要的插件了}@AfterMethodpublic void closeBrowser() {driver.close();//driver.quit();}}其⼆:加载本地已经安装的插件。
python使用selenium打开chrome浏览器时带用户登录信息实现过程详解
python使⽤selenium打开chrome浏览器时带⽤户登录信息实现过程详解导读我们在使⽤selenium打开google浏览器的时候,默认打开的是⼀个新的浏览器窗⼝,⽽且⾥⾯不带有任何的浏览器缓存信息。
当我们想要爬取某个⽹站信息或者做某些操作的时候就需要⾃⼰再去模拟登陆selenium操作浏览器这⾥我们就以CSDN为例,来展⽰如何让selenium在打开chrome浏览器的时候带上⽤户的登录信息打开chrome浏览器from selenium import webdriverfrom selenium.webdriver import ChromeOptions#设置操作的⽹站web_url = "https://"browser = webdriver.Chrome(executable_path=r"D:\chromedriver_win32\chromedriver\chromedriver.exe")#打开⽹页browser.get(web_url)运⾏程序之后,打开浏览器的界⾯如上图所⽰,可以看出来默认是没有带⽤户的登录信息的带⽤户登录信息打开chrome浏览器1.打开带有⽤户信息的chrome窗⼝"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -remote-debugging-port=9014 --user-data-dir="C:\\Users\\15053\AppData\Local\Google\Chrome\\User Data"因为安装chrome的时候是采⽤的默认安装路径,所以路径就和上⾯⼀样。
如果安装的时候⾃定义了路径,就注意修改⼀下chrome.exe的路径。
user-data⽬录是chrome缓存数据的⽬录,⾥⾯包含了⽤户的登录信息。