用By类定位 =========== 许多属性都可以用来定位元素,参看 (4.元素定位)查看更多实例 >class selenium.webdriver.common.by.By 支持的定位策略: >classmethod is_valid(by) >CLASS_NAME = 'class name' >CSS_SELECTOR = 'css selector' >ID = 'id' >LINK_TEXT = 'link text' >NAME = 'name' >PARTIAL_LINK_TEXT = 'partial link text' >TAG_NAME = 'tag name' >XPATH = 'xpath' 期望的功能 -------------- 请到 [2.开始]() 查看期望功能的实例 >class selenium.webdriver.common.desired_capabilities.DesiredCapabilities 默认支持的期望功能的集合 在请求远程Web驱动连接selenium server 或者selenium grid时,首先一点要先创建一个期望功能的对象,请看实例: :: from selenium import webdriver selenium_grid_url = "http://198.0.0.1:4444/wd/hub" # Create a desired capabilities object as a start point. capabilities = DesiredCapabilities.FIREFOX.copy() capabilities['platform'] = "WINDOWS" capabilities['version'] = "10" # Instantiate an instance of Remote WebDriver with the desired capabilities. driver = webdriver.Remote( desired_capabilities=capabilities, command_executor=selenium_grid_url) **注意**,请记得使用在DesiredCapabilities上使用 ``.copy()`` ,避免变更全局类实例带来的副作用 >ANDROID = {'platform': 'ANDROID', 'browserName': 'android', 'version': '', 'javascriptEnabled': True} >CHROME = {'platform': 'ANY', 'browserName': 'chrome', 'version': '', 'javascriptEnabled': True} >EDGE = {'platform': 'WINDOWS', 'browserName': 'MicrosoftEdge', 'version': ''} >FIREFOX = {'platform': 'ANY', 'browserName': 'firefox', 'version': '', 'marionette': False, 'javascriptEnabled': True} >HTMLUNIT = {'platform': 'ANY', 'browserName': 'htmlunit', 'version': ''} >HTMLUNITWITHJS = {'platform': 'ANY', 'browserName': 'htmlunit', 'version': 'firefox', 'javascriptEnabled': True} >INTERNETEXPLORER = {'platform': 'WINDOWS', 'browserName': 'internet explorer', 'version': '', 'javascriptEnabled': True} >IPAD = {'platform': 'MAC', 'browserName': 'iPad', 'version': '', 'javascriptEnabled': True} >IPHONE = {'platform': 'MAC', 'browserName': 'iPhone', 'version': '', 'javascriptEnabled': True} >OPERA = {'platform': 'ANY', 'browserName': 'opera', 'version': '', 'javascriptEnabled': True} >PHANTOMJS = {'platform': 'ANY', 'browserName': 'phantomjs', 'version': '', 'javascriptEnabled': True} >SAFARI = {'platform': 'ANY', 'browserName': 'safari', 'version': '', 'javascriptEnabled': True} 实用工具 ------------ 一些 ``Utils`` 方法。 >selenium.webdriver.common.utils.free_port() 用socket开放一个空闲的端口 >selenium.webdriver.common.utils.is_connectable(port) 试图连接服务器上的端口看看是否可用 >selenium.webdriver.common.utils.is_url_connectable(port) 试图连接一个HTTP服务器的指定端口,看是否成功返回