Learn about best practices for selenium automation, we have the largest and most updated best practices for selenium automation information on alibabacloud.com
1. Download the imageThe link is best, and almost all possible methods are enumerated, except that it does not mention the use of urldownloadtofile, but it is similar to WebClient.https://stackoverflow.com/questions/18424624/using-selenium-to-save-images-from-page/488712832. Full Exit SeleniumIn general, you can use Webdriver's Quit method. But in some cases, it may be useless. At this point, we can only kill the process.Interestingly, the way Iewebdr
with the elements before the refresh to locate the click, Nature will error.Second, the solution1. For the page refresh, the previous element failure problem, in the For loop body can be repositioned once, overwriting the old before the line.2. After the first acquisition of all elements, the total number is obtained through the Len function3.for loop do not loop positioning elements of the list object, replaced by a range function to cycle4. The reference code is as follows:```# Coding:utf-8Fr
Problems occurred1. Launch browser with Selenium ' chrome is under control of automatic software '2. If you do not want to see this annoying hint, start the browser by adding a configuration on the lineDisable-infobars1. In the browser configuration add a parameter, ignore this warning prompt
option = Webdriver. Chromeoptions ()Option.add_argument (' Disable-infobars ')
Reference Code # Coding:utf-8 from
First to tell you about the selenium environment, you can in the CMD first look at their own selenium version:Enter it and you can install it.I would like to tell you how to skip the verification code to log in, the results of a lot of friends and I asked my environment configuration problems, so I think it is detailed with you to explain, I also make a record. You can take a look ahead of the issue of skip
Selenium Web Automation-how to find elements2016-07-291. What is an element?Element: http://www.w3school.com.cn/html/html_elements.asp2. Positioning method AnalysisSelenium Webdriver provides an advanced technology to locate Web page elements. The Selenium feature-rich API provides multiple targeting strategies such as Name, ID, CSS selector, XPath, and so on, as
1.Webdriver principleWebdirver is a Web automation tool that provides a unified Webdriver interface to the browser, which is submitted by client, our test script, and the remote server browser responds to the request. Compared to the original selenium1 in the Selenium RC is more convenient, the browser operation more flexible.2. Positioning(1) Positioning of elements:The positioning of the elements can be a
positioning of the page, and the method encapsulated by the business operation code associated with those elements.4. Code reuse, which reduces the amount of test script code.5. Clear hierarchy, while supporting the development of multiple writing automation scripts, such as how many pages each person writes, does not affect others.6. It is recommended that both the page class and the business logic approach give a meaningful name to make it easy for
. -element: Positioned elements If the parameter is not written is the current position of the mouse for example, press CTRL + C:: Actionchains (Driver). Key_down (Keys.control). Send_keys (' C '). KEY_UP (Keys.control). Perform ()DefKey_up(Self, value, Element=none):# Release the keys to use with the aboveDefMove_by_offset(Self, Xoffset, yoffset): The offset that moves the mouse to the current mouse position-the xoffset:x axis moves to the X offset-yoffset:y axis offset as a positive or negativ
parameter is not written, then is the current mouse position-if the parameter is written to the element object, it is this element. def send_keys (self, *keys_to_send): The key to send to the current focus element. Modifier-Keys constants can be used in the button class. def send_keys_to_element (self, element, *keys_to_send): Sent to the anchored element-element: Positioned elements-keys_to_send: The key to be sent. Modifier-Keys constants can be used in the button class.Source code can
1.selenium Installation:Pip Install-u SeleniumReference: Https://pypi.python.org/pypi/selenium#downloads2. Download the Firefox driver:Https://github.com/mozilla/geckodriver/releases3. Configure the directory where the Geckodriver.exe is located to the PATH environment variable4. A simple example:1 from Import Webdriver 2 3 driver=webdriver. Firefox ()45 driver.get ("http://www.sogou.com") # The end of the
true testing class11 @FindBy (xpath= "//input[contains (@data-value, ' sort ')]")22privatewebelement XPath;33privatewebelement ID;44Publicpage () {55 CO =NewCom ();66 pagefactory.initelements (Driver, This);77 }88publicvoid XPath () {99 This. Xpath.click;Ten10 } One11publicvoid ID () { A12 This. Id.click; -13}So our original script could be changed to1 page page=new page (); 2 page.id (); 3 Page.xpath ();After the change, our script looks a lot simpler, and the development of the UI, we just m
1. Install python,:http://python.org---installation version 3.5.1PS: Comes with Setuptools and PIP tools2. Then, pip install the third-party libraries needed to develop the Web App: Asynchronous framework Aiohttp:$pip install aiohttp3. front-end template engine jinja2:$ pip install jinja24, MySQL 5.x database, download and install from the official website, after installation, it is important to remember the root password---test2345. MySQL python asynchronous driver Aiomysql:$ pip install aiomys
to process XML files, so it should be introduced First.Parse ()Xml.dom.minidom.parse () is used to open an XML file and will be the DOM variable for this file Object.DocumentElementDocumentElement is used to get the document elements of the DOM object and to give the obtained object to rootEach node has its nodename,nodevalue,nodetype Property. NodeName is the node Name.NodeValue is the value of the node and is valid only for text Nodes.NodeType is the type of Node.Getelementbytagname () can ge
1. Multi-Window switchingBrowser.window_handles Show All HandlesBrowser.current_window_handle Show Current handleBrowser.switch_to_window (browser.window_handles[1]) toggle Handle2. JS dialog box processingalter = Browser.find_element_by_xpath ('//*[@id = "Topguideloginform"]/div[4]/button '). Click ()Switch_to_alert () cut to alter returns an Alter objectAlter.accept () ConfirmAlter.dismiss () CancelSend_keys () have input box to use, otherwise error#coding =utf-8 from
object:
· Click on Object
· Send_keys analog key input on the object
· Clear clears the contents of the object, if possible
. Submit Submission Form
Actionchains class
Context_click () Right-click
Double_click () Double-click
Drag_and_drop () drag
Webelement Other common methods:
· Text gets the literal of the element
· Submit Form
· Get_attribute Getting property values
Example: Login Baidu fromSeleniumImportWebdriverImportT
Hantomjs") Driver=Webdriver. PHANTOMJS ()returnDriverElse: Print("Not found this browser,you can use ' Firefox ', ' Chrome ', ' ie ' or ' phantomjs '") exceptException as msg:Print("The exception occurred when starting the browser:%s"%str (msg))Multithreading launches different browsers1. Code reference:#Coding:utf-8 fromSeleniumImportWebdriverImport Time fromTomorrowImportThreadsdefStartbrowser (name):"""Open Browser functions, "Firefox", "Chrome", "ie", "PHANTOMJS"""" Try:
).context_click(right_click).perform() print(‘成功右击‘)except Exception as e: print(‘fail‘)#输出内容:成功双击Attention:
Actionchains (Driver): Call the Actionchains () class and pass the browser driver browser as a parameter
Context_click (Right_click): Analog mouse Double-click, need to pass in the specified element positioning as a parameter
Perform (): performs all the operations stored in Actionchains () as a series of operations prior to execution
1. Right-click
Co
1. Introduce the JAVA+SELENIUM+POM Automatic test framework, the first to realize the separation of code and account URL and other information. The 2nd supports cross-browser implementation by reading the configuration file.1) Add information such as account URL to the properties file and read2) write the browser class by fetching the configuration file to achieve browser switching3) Test Browser classProject structure:1. Create a new folder place the
secondiframe = Driver.find_elements_by_tag_name (' iframe ') [1]# Switch to the IFRAMEDriver.switch_to_frame (IFRAME)# Click to open the File upload buttonDriver.find_element_by_name (' file '). Click ()Time.sleep (3)# Execute AutoIt Upload filePrint IOs.system ("C:\Users\Gloria\Desktop\cmdjpg.exe%s"% i) # your own local. exe pathTime.sleep (3)Driver.switch_to_default_content () # cut back to the main page# # Method Two: Cycle Click Upload Image# for I in range (4):# # 1 O'Clock Open editor pic
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.