在selenium脚本中使用
对下拉列表进行排序 new Select(driver.findElement(By.cssSelector("select[title=\"Sort By\"]"))).selectByVisibleText("Name");
任何人都可以向我解释上述声明的cssSelector("select[title=\"Sort By\"]"
部分。
谢谢!
答案 0 :(得分:1)
select
这是定位web元素/元素的技术之一。
您一定听说过xpath,这是在网页中定位元素/元素的方法之一。
此外,title
是 HTML 中的标记。 <select id="sel" class="drop-down" title="Sort By">
<options>..</options>
<options>..</options>
<options>..</options>
</select>
是属性,排序方式是属性的值。
就像这样:
HTML :
tagname[attribute="attribute value"]
select[id="sel"]
现在如果你必须写 cssSelector ,你可以像这样写:
select[class="drop-dwon"]
或
select[title="Sort By"]
或
composer clear-cache
composer dump-autoload
希望这会有所帮助!
答案 1 :(得分:0)
new Select(driver.findElement(By.cssSelector("select[title=\"Sort By\"]"))).selectByVisibleText("Name");
您正在通过CSS选择器https://www.w3schools.com/cssref/css_selectors.asp进行选择。另一种选择是XPath,它更强大但更难学习。
此部分By.cssSelector("select[title=\"Sort By\"]")
执行的操作是选择select
个属性设置为“排序依据”的所有title
元素。虽然通过前缀driver.findElement(
,您只需要一个元素,但第一个元素。至少你会是如果它是python,Java可能会有所不同,但不在你的问题或标签中。