欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

selenium操作隱藏的元素(python+Java)

 更新時間:2019年07月14日 11:41:40   作者:蟲師  
這篇文章主要介紹了selenium操作隱藏的元素(python+Java),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

有時候我們會碰到一些元素不可見,這個時候selenium就無法對這些元素進行操作了。例如,下面的情況:

Python

頁面主要通過“display:none”來控制整個下拉框不可見。這個時候如果直接操作這個下拉框,就會提示:

from selenium import webdriver
from selenium.webdriver.support.select import Select
import os,time

driver = webdriver.Chrome()
file_path = 'file:///' + os.path.abspath('test.html')
driver.get(file_path)

sel = driver.find_element_by_tag_name('select')
Select(sel).select_by_value('opel')
time.sleep(2)

driver.quit()

exceptions.ElementNotVisibleException:Message:elementnotvisible:Elementisnotcurrentlyvisibleandmaynotbemanipulated

我們需要通過javaScript修改display的值。

……

js = 'document.querySelectorAll("select")[0].style.display="block";'
driver.execute_script(js)

sel = driver.find_element_by_tag_name('select')
Select(sel).select_by_value('opel')

……

document.querySelectorAll("select")[0].style.display="block";

document.querySelectorAll("select")選擇所有的select。

[0]指定這一組標簽里的第幾個。

style.display="block";修改樣式的display="block",表示可見。

執(zhí)行完這句js代碼后,就可以正常操作下拉框了。

Java

以下為java中的操作

package com.jase.base;

import java.io.File;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.By.ById;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.JavascriptExecutor;

public class SelectTest {

 public static void main(String[] args){
  
  WebDriver driver = new ChromeDriver();
  File file = new File("C:/Users/fnngj/Desktop/test.html");
  String filePath = file.getAbsolutePath();
  driver.get(filePath);
  
   String js = "document.querySelectorAll('select')[0].style.display='block';";
  ((JavascriptExecutor)driver).executeScript(js);
  
  Select sel = new Select(driver.findElement(ById.xpath("http://select")));
  sel.selectByValue("opel");
 
 }
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java中自定義類的實現(xiàn)詳解

    Java中自定義類的實現(xiàn)詳解

    自定義類是Java中最基本、也是最重要的組成部分之一,使用者可以根據(jù)需求創(chuàng)建自己的數(shù)據(jù)類型,從而更加高效地構建程序,本文就來為大家詳細講講Java中自定義類的實現(xiàn)與使用吧
    2023-05-05
  • Java的異常體系以及File類構造方法詳解

    Java的異常體系以及File類構造方法詳解

    這篇文章主要為大家介紹了Java的異常體系以及File類構造方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • Java將日期類型Date時間戳轉換為MongoDB的時間類型數(shù)據(jù)

    Java將日期類型Date時間戳轉換為MongoDB的時間類型數(shù)據(jù)

    今天小編就為大家分享一篇關于Java將日期類型Date時間戳轉換為MongoDB的時間類型數(shù)據(jù),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • JPA使用樂觀鎖應對高并發(fā)方式

    JPA使用樂觀鎖應對高并發(fā)方式

    這篇文章主要介紹了JPA使用樂觀鎖應對高并發(fā)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java之JsonArray用法講解

    Java之JsonArray用法講解

    這篇文章主要介紹了Java之JsonArray用法講解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • SpringBoot整合Javamail實現(xiàn)郵件發(fā)送功能

    SpringBoot整合Javamail實現(xiàn)郵件發(fā)送功能

    郵件發(fā)送是一個很普遍的功能,springboot整合了相關的starter,本文給大家介紹了可以實現(xiàn)一個簡單的郵件發(fā)送功能的實例,文中通過代碼給大家介紹的非常詳細,感興趣的朋友可以參考下
    2023-12-12
  • Spring Boot web項目的TDD流程

    Spring Boot web項目的TDD流程

    TDD(Test-driven development) 測試驅動開發(fā),簡單點說就是編寫測試,再編寫代碼。這是首要一條,不可動搖的一條,先寫代碼后寫測試的都是假TDD。
    2021-05-05
  • 程序猿必須要掌握的多線程安全問題之鎖策略詳解

    程序猿必須要掌握的多線程安全問題之鎖策略詳解

    在筆者面試過程時,經(jīng)常會被問到各種各樣的鎖,如樂觀鎖、讀寫鎖等等,非常繁多,在此做一個總結,介紹的內(nèi)容如下,需要的朋友可以參考下
    2021-06-06
  • Netty核心功能之數(shù)據(jù)容器ByteBuf詳解

    Netty核心功能之數(shù)據(jù)容器ByteBuf詳解

    這篇文章主要為大家介紹了Netty核心功能之數(shù)據(jù)容器ByteBuf詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • Java統(tǒng)計一個字符串在另外一個字符串出現(xiàn)次數(shù)的方法

    Java統(tǒng)計一個字符串在另外一個字符串出現(xiàn)次數(shù)的方法

    這篇文章主要介紹了Java統(tǒng)計一個字符串在另外一個字符串出現(xiàn)次數(shù)的方法,涉及java字符串遍歷、正則匹配等相關操作技巧,需要的朋友可以參考下
    2018-03-03

最新評論