diff --git a/docs/111.md b/docs/111.md index e3b71ed1c3348c42fb59b5c6afdfa733736e7bd2..aa81913f6e04839d47e979036938c7415be087e2 100644 --- a/docs/111.md +++ b/docs/111.md @@ -22,13 +22,13 @@ driver.findElement(By.LocatorStrategyType ("Locator_Value")); #### 可用的定位器类型包括: * ID -* Name +* 名称 * 标签名 * 类名称 -* LinkText -* partialLinkText -* cssSelector -* 路径 +* 链接文本 +* `partialLinkText` +* `cssSelector` +* XPath 可以随时通过编程方式掌握页面上所需的元素,但要实现此目的,我们的创作方可能不得不偷看一下。 原因是,我们并不总是可以控制页面上的 HTML。 这就是为什么我们有这么多的定位器类型,而且绝对没有理由惊慌! diff --git a/docs/112.md b/docs/112.md index 43e29f1fb24da53e2eea2b7daa6058453bc21be7..2b50af20f6fc3e153a39f1737dc6fa3d85b5f618 100644 --- a/docs/112.md +++ b/docs/112.md @@ -38,7 +38,7 @@ driver.findElement(By.className("i18n_phone_number_input-inner_input")); **示例**:让我们找到在 gmail 帐户创建页面底部提供的超链接“了解更多信息”。 -*Code:* +*代码:* ```java driver.findElement(By.linkText("Learn more")); @@ -56,7 +56,7 @@ driver.findElement(By.linkText("Learn more")); **示例**:让我们在 Gmail 帐户创建页面的“选择用户名”文本框下方找到超链接“我更喜欢使用我当前的电子邮件地址” - 文本:**我更喜欢**。 -*Code:* +*代码:* ```java driver.findElement(By.partialLinkText("I prefer to")); diff --git a/docs/113.md b/docs/113.md index 4ef8cf9bdf9dbe9feda17eb36e917c338a8435f7..f6421f082a1b58812333656fbf3ccf42d95d05e1 100644 --- a/docs/113.md +++ b/docs/113.md @@ -87,7 +87,7 @@ class="i18n_phone_number_input-inner_input" type="tel"> 我们可以看到“`input`”标签具有“`class`”属性,名称为“`i18n_phone_number_input-inner_input`”。 -*Code:* +*代码:* ```java driver.findElement(By.cssSelector("input.i18n_phone_number_input-inner_input ")); @@ -119,7 +119,7 @@ form-error" aria-invalid="true" type="text"> 我们可以看到,“`input`”标签的“`name`”属性为“`FirstName`”。 -*Code:* +*代码:* ```java driver.findElement(By.cssSelector("input[name='FirstName']")); @@ -143,7 +143,7 @@ driver.findElement(By.cssSelector("input[name='FirstName']")); 我们可以看到,“`input`”标签具有“`name`”和“`id`”属性,它们的值均为“`Passwd`”,“`type`”属性为`password`。 -*Code:* +*代码:* ```java driver.findElement(By.cssSelector("input#Passwd[name='Passwd']")); diff --git a/docs/114.md b/docs/114.md index 4908f3cd76accb4054d8ac883ad3dbe903b211b3..98820fec60341d7e56c71d617b0c1c3e8e773f39 100644 --- a/docs/114.md +++ b/docs/114.md @@ -69,7 +69,7 @@ driver.findElement(By.cssSelector("label#recovery-email-label input[name='Recove 要标识子元素“狗”, -*Code:* +*代码:* ```java driver.findElement(By.cssSelector("ul#pets li:nth-of-type(2)")); @@ -95,7 +95,7 @@ driver.findElement(By.cssSelector("ul#pets li:nth-of-type(2)")); 我们可以看到`input`标签具有一个名为“`LastName`”的“`id`”属性。 要找到此元素,我们可以指定查找以“`Last`”开头的“`id`”属性值。 -*Code:* +*代码:* ```java driver.findElement(By.cssSelector("input[id^='Last']")); @@ -117,7 +117,7 @@ Considering the below code, 我们可以看到“`input`”标签的“`name`”属性为“`PasswdAgain`”。 要找到此元素,我们可以指定查找以“`Again`”结尾的“`name`”属性值。 -*Code:* +*代码:* ```java driver.findElement(By.cssSelector("input[name$='Again']")); @@ -139,7 +139,7 @@ Considering the below code, 我们可以看到“`input`”标签的“`name`”属性为“`PasswdAgain`”。 要找到此元素,我们可以指定查找包含“`wdAg`”的“`name`”属性值。 -*Code:* +*代码:* ```java driver.findElement(By.cssSelector("input[name*='wdAg']")); diff --git a/docs/115.md b/docs/115.md index 325ae1bcba08968facb841e269c92a2b5bd46ea1..b343b6241d69e496500e88f0cc93ab0f6792e577 100644 --- a/docs/115.md +++ b/docs/115.md @@ -137,7 +137,7 @@ driver.findElement(By.xpath("//input[@type='password'][@id='PasswdAgain']")); 右键单击按钮并检查元素以获取相应的 HTML 代码,如下所示, -*Code:* +*代码:* ```java driver.findElement(By.xpath("//div[contains(@class,'button')]/input")); @@ -151,7 +151,7 @@ driver.findElement(By.xpath("//div[contains(@class,'button')]/input")); **示例**:让我们在 Gmail 帐户注册页面上找到所有类值为“`goog-inline-block`”的元素。 -*Code:* +*代码:* ```java driver.findElements(By.xpath("//*[contains(@class,'goog-inline-block')]")); diff --git a/docs/116.md b/docs/116.md index cfe6098b58a0b91173c02504d7344351f1385d59..2e02d75ad6180eddf7f6fe7fb5cdb6456c1c1089 100644 --- a/docs/116.md +++ b/docs/116.md @@ -69,7 +69,7 @@ aria-label="New password" type="password"> 因此,第二个元素必须位于我们的案例中。 -*Code:* +*代码:* ```java driver.findElement(By.xpath("(//input[starts-with(@type,'pass')])[2]")); @@ -115,7 +115,7 @@ XPath 轴定义在当前节点浏览 DOM 的树形结构时要考虑的相对于 ``` -*Code:* +*代码:* ```java driver.findElement(By.xpath("//i[@class='fb_logo']/parent::a")); @@ -133,7 +133,7 @@ Upon inspecting the element, Birthday -*Code:* +*代码:* ```java driver.findElement(By.xpath("//select[@id='month']/ancestor::div[@class='_5k_5']/preceding-sibling::div")); @@ -155,7 +155,7 @@ Upon inspecting the element, ``` -*Code:* +*代码:* ```java driver.findElement(By.xpath("//label[@id='loginbutton']/child::input")); @@ -177,7 +177,7 @@ First name ``` -*Code:* +*代码:* ```java driver.findElement(By.xpath("//div[contains(@class,'uiStickyPlaceholderInput')]/descendant::input")); @@ -202,7 +202,7 @@ Upon inspecting the element, ``` -*Code:* +*代码:* ```java driver.findElement(By.xpath("//td[@class='_51m- hLeft plm']/following-sibling::td/child::a")); @@ -227,7 +227,7 @@ Upon inspecting the element, ``` -*Code:* +*代码:* ```java driver.findElement(By.xpath("//label[@class='_58mt']/preceding-sibling::input")); diff --git a/docs/121.md b/docs/121.md index 37d4291f843a7eb5c207c6c3f883769fc19ddbd3..aaad029328a4b2cb5906fdc41334407d78b8a0ba 100644 --- a/docs/121.md +++ b/docs/121.md @@ -56,7 +56,7 @@ driver.findElement(By.cssSelector("input[value='Magazines']"));  Tricycle ``` -*Code:* +*代码:* ```java driver.findElement(By.name("vehicle2")).isDisplayed(); @@ -74,7 +74,7 @@ Respective HTML code for reference,  Tricycle ``` -*Code:* +*代码:* ```java WebElement tricycleCheckbox = driver.findElement(By.name("vehicle2")); @@ -100,7 +100,7 @@ Respective HTML code for reference,  Magazines ``` -*Code:* +*代码:* ```java // Locate 'Magazines' radio button using cssSelector @@ -128,7 +128,7 @@ Respective HTML code for reference,  Sedan ``` -*Code:* +*代码:* ```java // Locate 'Sedan' checkbox using xPath: contains() and text() diff --git a/docs/122.md b/docs/122.md index 982c40e7f740ba1aed78b4b036d6d2b64e4a376a..3e5d38c428f5b9d205daa1f6e5a53055561ea59a 100644 --- a/docs/122.md +++ b/docs/122.md @@ -127,7 +127,7 @@ languages.deselectByVisibleText("JavaScript"); `value`属性的值“`RC`”将作为参数传递给`selectByValue`方法。 -*Code:* +*代码:* ```java multiSelect.selectByValue("RC"); @@ -145,7 +145,7 @@ multiSelect.selectByValue("RC"); 基于 HTML 代码,Selenium IDE 的索引为 0,Selenium WebDriver 的索引为 1,Selenium RC 的索引为 2。 -*Code:* +*代码:* ```java multiSelect.deselectByIndex(2); @@ -163,7 +163,7 @@ multiSelect.deselectByIndex(2); **示例**:让我们取消选择在 Selenium 工具套件多重选择框中选择的所有选项。 -*Code:* +*代码:* ```java multiSelect.deselectAll(); @@ -181,7 +181,7 @@ multiSelect.deselectAll(); **语法**:`selectObject.getOptions()` -*Code:* +*代码:* ```java List allOptions = multiSelect.getOptions(); @@ -201,7 +201,7 @@ List allOptions = multiSelect.getOptions(); **语法**:`selectObject.getAllSelectedOptions()` -*Code:* +*代码:* ```java List allSelectedOptions = multiSelect.getAllSelectedOptions(); diff --git a/docs/123.md b/docs/123.md index f91c4558874bb6f6220a11af541908c5237e3d56..9fbb93c5f91c433c16c299e4e24d156fbc14a9c2 100644 --- a/docs/123.md +++ b/docs/123.md @@ -52,7 +52,7 @@ System.out.println("Inner table first row text = " + innerRow1.getText()); 让我们找到嵌套表的第二行,并将其内容打印到控制台。 相对路径是 XPath 的一部分,用于定位嵌套表的所需单元格。 -*Code:* +*代码:* ```java // Locate 'Inner Row 2' using xPath diff --git a/docs/124.md b/docs/124.md index 1d2be5a500904dcd5f2be0c004d5b722d1379ee7..e1342760bd306122ab465cdf3ef697e11959086e 100644 --- a/docs/124.md +++ b/docs/124.md @@ -24,7 +24,7 @@ WebElement BooksTable = driver.findElement(By.id("BooksAuthorsTable")); 让我们使用绝对 XPath 查找总行数。 请注意,XPath 以标签名称“`tr`”结尾。 `size()`方法给出使用 XPath 由`findElements()`返回的元素数。 -*Code:* +*代码:* ```java int rowNum = driver.findElements(By.xpath("/html/body/form/div[5]/div/div/table/tbody/tr")).size(); @@ -32,7 +32,7 @@ int rowNum = driver.findElements(By.xpath("/html/body/form/div[5]/div/div/table/ 让我们稍微切换一下齿轮,并使用相对 XPath 查找总列数。 -*Code:* +*代码:* ```java int colNum = driver.findElements(By.xpath("//table[@id='BooksAuthorsTable']/tbody/tr[1]/th")).size(); @@ -46,7 +46,7 @@ int colNum = driver.findElements(By.xpath("//table[@id='BooksAuthorsTable']/tbod 如果表的行和列号固定为,那么遍历每个表元素将变得非常容易。 可以使用两个`for()`循环,一个用于行,另一个用于访问列值。 -*Code:* +*代码:* ```java for(int i=2; i<=6; i++){ diff --git a/docs/126.md b/docs/126.md index c2b8ee1af63e33b1ff25843de389d92a085ff695..099c1abaf7a37fc485d3d045e1de386e204f7f11 100644 --- a/docs/126.md +++ b/docs/126.md @@ -43,7 +43,7 @@ Set winHandles = driver.getWindowHandles(); 7. 通过两个句柄循环 8. 切换到带有句柄参考的新窗口 9. 获取标题并将其打印到控制台 -10. 关闭新视窗 +10. 关闭新窗口 11. 将控件切换回父窗口,然后将 URL 打印到控制台 12. 验证 Eclipse IDE 控制台输出屏幕和 JUnit 窗格是否成功 diff --git a/docs/127.md b/docs/127.md index ef508a54c4a51905dd3617d58275f6407f28b853..91ad59a3537358324143c4f89f6c9e67a036eba7 100644 --- a/docs/127.md +++ b/docs/127.md @@ -25,7 +25,7 @@ driver.manage().window().maximize(); 8. 切换到带有句柄参考的新窗口 9. 获取标题并将其打印到控制台 10. 将小窗口最大化到全屏尺寸 -11. 关闭新视窗 +11. 关闭新窗口 12. 将控件切换回父窗口,然后将 URL 打印到控制台 13. 验证 Eclipse IDE 控制台输出屏幕和 JUnit 窗格是否成功 diff --git a/docs/13.md b/docs/13.md index 92d98ab3ebd1db7c38787e2d2a3134cd3e88e166..69921aed3828b173ac045258ec1aea6dd21d9f07 100644 --- a/docs/13.md +++ b/docs/13.md @@ -4,13 +4,13 @@ 在本文中,您将学习非访问修饰符。 以下是可用的 Java 非访问修饰符。 -* 最后 -* 抽象 -* 静态的 -* 严格 -* 本机 -* 已同步 -* 短暂的 +* `final` +* `abstract` +* `static` +* `strictfp` +* `native` +* `syncronized` +* `transient` ## `final`非访问修饰符 diff --git a/docs/147.md b/docs/147.md index 2379ae3c53e534ba2d3e70d22283bb30ee2263bc..ef0be20b2b626740e52291ec2e910ddfbeb086eb 100644 --- a/docs/147.md +++ b/docs/147.md @@ -25,7 +25,7 @@ Vue 带有一些内置指令。 请注意,我们可以编写自己的自定义 ## 场景: -* 显示标题和 +* 显示标题 * 显示带有问候消息的段落,例如“嗨!” ### `Index.html` diff --git a/docs/154.md b/docs/154.md index e5ccbe3194d1d67f4cb50cb7f3141efc6782e95c..664502ce0afc7eb3d061bb0f47a539b9f0b1e52a 100644 --- a/docs/154.md +++ b/docs/154.md @@ -43,7 +43,7 @@ var app = new Vue({ 如果我们想在`v-for`语法中使用多个参数,则必须使用括号。 **顺序**在这里很重要。 -* **第一个自变量**将始终是**值**和 +* **第一个自变量**将始终是**值** * **第二个自变量**将是**键**。 参数名称可以是我们选择的任何名称。 为了简单和易于理解,让我们使用`value`和`key`作为参数名称。 diff --git a/docs/16.md b/docs/16.md index c8ddaf731194b47f20cc28790e273911cc9e02c1..69f526d7b4e9d8ad66f64fcdc8846ac3fc49d901 100644 --- a/docs/16.md +++ b/docs/16.md @@ -6,9 +6,9 @@ ## Java 语句的类型 -* 表达声明 +* 表达式语句 * 控制语句 -* 分配声明 +* 赋值语句 在本节中,我们将讨论控制语句。 @@ -16,8 +16,8 @@ ## 控制语句 -* 有条件的执行 -* 循环播放 +* 条件执行 +* 循环控制 * 流控制语句 * * * diff --git a/docs/165.md b/docs/165.md index 110620eaf78decfcfb55297e28c12f4a2f5a9f9e..a71560b62d3bb64ce073cd91fb25cc4eb3fb6c14 100644 --- a/docs/165.md +++ b/docs/165.md @@ -4,10 +4,10 @@ Python 适用于各种平台,包括 Linux,Windows 和 Mac OS。 因此,在这里我们将了解如何设置 python 环境。 对于本地环境设置,请打开终端窗口,然后在其中键入“python”以知道它是否已安装(如果已安装,则说明是哪个版本)。 -* Unix / Linux -* 视窗 -* 苹果机 -* 从 +* Unix/Linux +* Windows +* MacOS +* 其它 python 的安装程序也可以从官方网站安装以获得最新版本。 链接在这里 @@ -30,7 +30,7 @@ python 的安装程序也可以从官方网站安装以获得最新版本。 链 * 下载后,解压缩文件。 * 如果需要,请编辑模块/设置文件。 * 运行`./configure`脚本 -* 使 +* 配置 * 进行安装 此命令将 python 安装在标准位置`/usr/local/bin`和`/usr/local/lib/pythonAA`中的库中,其中`AA`是 python 的版本。 diff --git a/docs/19.md b/docs/19.md index c7a8445811e4a9bf2d824a4e00c28014280907eb..e32b9ba70675b734184b70fb36ab801465bfa029 100644 --- a/docs/19.md +++ b/docs/19.md @@ -19,14 +19,14 @@ class InnerClass { ## 内部类的类型 -* 静态的 -* 本地方法 +* 静态 +* 方法局部 * 匿名 -* 除了这些正常的内部阶级之外 +* 除了这些正常的内部类之外 ## 普通内部类 -非本地方法,静态方法或匿名方法的内部类是普通内部类。 +非方法局部,静态方法或匿名方法的内部类是普通内部类。 ```java //outer class diff --git a/docs/32.md b/docs/32.md index d779c34f3f3b3ec0917ed4be5dc3523efbd8d87f..7cff09a081a696e60ec833c0c656e41ee1ee390e 100644 --- a/docs/32.md +++ b/docs/32.md @@ -166,7 +166,7 @@ public class MyTryWithResources { * `Foo`类的`close()`将消息“正在关闭`Foo`”打印到控制台,并抛出一个异常,该异常在`try`块抛出的异常暴露时被抑制。 * 仅当`try`块和`try-with-resources`语句(`close()`方法)都抛出异常时,`try-with-resources`语句对这种异常的抑制才发生。 * `Bar`类的`close()`运行,并将消息“`Closing Bar`”显示在控制台上。 -* 然后,终于执行了块。 +* 然后,`finally`块执行。 3. 如果您还想检索抑制的异常怎么办? 不要担心。 在 Java SE 7 和更高版本中,可以使用`getSuppressed()`方法检索它们。 4. 尽管关闭特定资源时会引发异常,但是所有打开的资源都将被关闭,而与引发的异常无关。 在我们的示例中,尽管关闭`Foo`资源时发生异常,但`Bar`资源也成功关闭。 diff --git a/docs/35.md b/docs/35.md index 872a58e8a3cd60619db2e9066b8ec90b0ccc3142..13d715d3b79556a9c76c3f546cf7d05ea08d5eb2 100644 --- a/docs/35.md +++ b/docs/35.md @@ -11,9 +11,9 @@ #### 重载方法 * 必须更改参数列表 -* 可以更改退货类型 +* 可以更改返回类型 * 可以更改访问修饰符(更广泛) -* 可以声明一个新的或更广泛的检查异常 +* 可以声明一个新的或更广泛的受检异常 ###### 方法可以在类或子类中重载。 diff --git a/docs/36.md b/docs/36.md index 8bf4bf674b46cc40a63c3f0de79fb6cc59dc0469..3edd79bdb14a2ab88e1015a6f9fe164d694fc0eb 100644 --- a/docs/36.md +++ b/docs/36.md @@ -34,7 +34,7 @@ System.out.println("Show method of Sub class"); * 覆盖方法*不能*具有比被覆盖的方法更多的*限制性访问修饰符*,但可以更少。 * 参数列表必须与覆盖的方法完全匹配,如果不匹配,则很可能是您正在重载该方法。 * 返回类型必须与在超类中的覆盖方法中声明的返回类型相同或为该子类型的子类型。 -* 覆盖方法*可以*抛出任何*非受检异常(运行时)*,但是它可以抛出比被覆盖方法声明的范围更广或更新的检查异常,但不能抛出更少或狭窄的异常检查。 +* 覆盖方法*可以*抛出任何*非受检异常(运行时)*,但是它可以抛出比被覆盖方法声明的范围更广或更新的受检异常,但不能抛出更少或狭窄的异常检查。 * *不能覆盖最终的方法*。 * *静态*方法*无法覆盖*。 静态方法看起来可以覆盖,但它是隐藏的。 * 如果*方法无法继承,则无法覆盖*。 diff --git a/docs/41.md b/docs/41.md index cac1870425b2406aa8642c3ae3bf04e2e1554d2c..3348c9dd3c4c8e9866708c984a95ce164ed8b4c5 100644 --- a/docs/41.md +++ b/docs/41.md @@ -21,8 +21,8 @@ * 类(未嵌套) * 构造器 -* 介面 -* 方法本地内部类(与嵌套类之间的区别) +* 接口 +* 方法局部内部类(与嵌套类之间的区别) * 内部类方法 * 实例变量 * 局部变量 diff --git a/docs/44.md b/docs/44.md index 96a53dd0fc96a78503d8323f2a4c1da9b9e72d37..6e4bf45f2e9f546945c170bb9212e25ffe3384d0 100644 --- a/docs/44.md +++ b/docs/44.md @@ -112,9 +112,8 @@ List l = new ArrayList(); * 可增长数组 * 快速迭代 -* 快速随机存取 -* 按索引排序的集合 -* 未分类 +* 快速随机访问 +* 按索引排序 * * * @@ -145,11 +144,13 @@ List l = new ArrayList(); **属性** -* 未分类 * 无序 * 使用对象的哈希码 * 没有重复的对象 -* `LinkedHashMap` + + +### `LinkedHashMap` + * 有序(插入) * 使用对象的哈希码 * 没有重复的对象 diff --git a/docs/6.md b/docs/6.md index 8ea046da6f64f6afa1ae9335506787c30536e6e5..76736ea999fe0b3e62dfc81f29efaeb091e0c300 100644 --- a/docs/6.md +++ b/docs/6.md @@ -38,7 +38,7 @@ JDK = JRE + 开发 Java 应用所需的库。 为了理解 Java 的可移植性,您需要从头到尾了解 Java 代码会发生什么。 * Java 源代码(由开发人员编写)(机器中性) -* 编译代码/字节码(由`javac`编译)。 (机器中性) +* 编译代码/字节码(由`javac`编译)(机器中性) * 执行的字节码(由 JVM 执行)(机器特定) 在步骤 2 中,`javac`(Java 编译器)将 Java 代码转换为字节码。 可以将其移动到任何计算机(Windows/Linux)并由 JVM 执行。 JVM 读取字节码并生成机器特定的代码。 为了生成特定于机器的代码,JVM 需要特定于机器。 因此,每种类型的计算机(Windows/Linux/Mac)都具有特定的 JVM。 因此,编码器 diff --git a/docs/62.md b/docs/62.md index 51dcf4d61adecd4721aad9f69404a84919d9407d..661ba730bef529c88e3378ecdad85dc6c089d427 100644 --- a/docs/62.md +++ b/docs/62.md @@ -144,14 +144,14 @@ Thread(String name) 到目前为止,我们遇到了线程的三种状态 -* 新增 +* 新建 * 可运行的 * 正在运行 线程还有更多状态,线程将无法运行。 * 等待/阻止/睡眠 -* 已死 +* 死亡 当线程的`run`方法完成执行时,该线程处于死亡状态。 diff --git a/docs/90.md b/docs/90.md index 213dee8a1c1dcdc8951f351906399df6b2138b0d..2ae2fd195fa143591950b23a71a97419f2a585d7 100644 --- a/docs/90.md +++ b/docs/90.md @@ -34,7 +34,7 @@ Selenium 命令具有三种不同的样式:*操作,访问器和断言*。 这些操作大多数都带有后缀“`AndWait`”,例如 “`clickAndWait`”。 此后缀确保 Selenium 等待新页面或元素加载。 -## 存取器: +## 访问器: 这些命令用于检查应用的状态。 这些让我们将结果存储在用户定义的变量中,这些变量可用于断言的目的。 它们不会直接与页面元素交互。 diff --git a/docs/93.md b/docs/93.md index f499a0867291d515f8c03aed8f94604af0842505..a1b83a7cd4af9f70d9984d8056b1d28172e168d9 100644 --- a/docs/93.md +++ b/docs/93.md @@ -15,10 +15,10 @@ 定位依据 * ID -* Name +* 名称 * 链接文本 * CSS -* 判断 +* DOM * XPath ## 通过 ID 定位 diff --git a/docs/94.md b/docs/94.md index eeec319e3528edf0c019e42b98ba545b7bfaa3cb..ee49c5c13cb5040876c92eef61752b22512f189b 100644 --- a/docs/94.md +++ b/docs/94.md @@ -9,7 +9,7 @@ 定位依据 * CSS -* 判断 +* DOM * XPath 让我们一一看一下。