![](/img/trans.png)
[英]Selenium Webdriver (Java) - save classname value into the variable
[英]Selenium WebDriver in Java. Select by tag ClassName and parent ClassName
我需要找到一個帶有標簽select和ClassName的元素
fare-finder__calendar__month-selector__dropdown
在具有ClassName的div中
fare-finder__calendar--outbound
問題是它們之間還有其他我不在乎的div。 目前,我正在使用以下解決方案:
driver.findElement(By.cssSelector("div.fare-finder__calendar--outbound div div div div label select.fare-finder__calendar__month-selector__dropdown")).click();
但我想擺脫它們之間的標簽
div div div div label
您能為我提供一個解決方案,以忽略所有我感興趣的標簽之間的標簽嗎?
謝謝,
找到元素時,可以通過執行另一個findElement調用來在該元素內找到元素。
driver.findElement(By.cssSelector("div.fare-finder__calendar--outbound")).findElement(By.cssSelector("select.fare-finder__calendar__month-selector__dropdown"));
您還可以使用(明智的)xpath:
By.xpath("//div[@class='parentElementClass']//select[@class='childElementClass']");
我對CSS選擇器不太熟悉,但是應該允許任何子位置:
driver.findElement(By.cssSelector("div.fare-finder__calendar--outbound select.fare-finder__calendar__month-selector__dropdown")).click();
您無需指定之間所有用>字符表示的元素。
更新 :
我已經編輯了上面的代碼以正確編譯,並完全代表您的頁面實際類。 經過測試並針對此模擬頁面https://5d70fb99-bb95-4031-bdec-e46bd79a44fd.htmlpasta.com/
如果這些定位器都不起作用,則您正在自動化的實際頁面可能有些奇怪。 發布最少的HTML代碼(重現問題),所使用的Selenium-Webdriver版本以及所使用的驅動程序(Chrome,Firefox,IE,Edge?)也可能很有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.