셀레늄에서 마우스 이벤트를 사용하여 브라우저 화면에서 텍스트를 어떻게 선택할 수 있습니까?

Sagar007

이미 브라우저에있는 텍스트를 선택하려고합니다.

특정 텍스트를 선택하고 오른쪽 클릭 작업을 수행하고 싶습니다. 그러나 브라우저의 페이지는 오른쪽 클릭을 비활성화했습니다.

그런 상황에서 어떻게 텍스트를 선택할 수 있습니까?

그을음 3

Selenium없이 일반 웹 브라우저를 사용하는 유일한 해결 방법은 자바 스크립트를 비활성화하여 오른쪽 클릭을 방지하는 스크립트를 중지하는 것입니다. 따라서 Selenium Webdriver로 제어되는 브라우저에서도 작동해야합니다.

귀하의 웹 사이트가 필수 기능을 위해 자바 스크립트에 의존하고있을 수 있으므로 괜찮을지 모르겠습니다.

그러나 Selenium 테스트에 Javascript가 필요하지 않은 경우 드라이버를 시작할 때 다음을 시도 할 수 있습니다.

FirefoxProfile p = new FirefoxProfile();
p.setPreference("javascript.enabled", false);
driver = new FirefoxDriver(p);

귀하의 질문은이 오른쪽 클릭을 방해하는 문제를 처리하는 것에 관한 것이기 때문에 이미 오른쪽 클릭을 수행하는 방법을 알고 있다고 가정합니다. 그러나 그렇지 않은 경우이 답변을 참조 할 수도 있습니다 : Selenium Webdriver의 오른쪽 클릭 메뉴에서 옵션 선택-Java

편집하다:

Selenium 작업을 사용하여 원하는 텍스트를 선택할 수 있다고 생각해서 정말 죄송합니다.하지만 몇 가지 테스트 후에는 텍스트를 선택하기 위해 클릭 및 드래그를 수행하지 못했습니다. Chrome 또는 Firefox에서 나를 위해 작동하는 유일한 것은 다음과 같습니다. A에 대한 같습니다 <p>다음 텍스트를 포함하고있는 단어를 선택하려면 두 번 클릭을 수행합니다.

driver.get("http://en.wikipedia.org/wiki/Java_(programming_language)");
WebElement text = driver.findElement(By.xpath("//p[contains(text(),'Java is')]"));
Actions select = new Actions(driver);
select.doubleClick(text).build().perform();

그러나 텍스트가 포함 된 html 요소에서 한 단어 만 강조하므로 실제로 편리하지 않습니다.

또한 Ctrl + F를 수행하고 텍스트를 입력하여 웹 브라우저가 자동으로 선택하도록 시도했지만 브라우저는 실행할 때 아무 작업도 수행하지 않습니다.

Actions search = new Actions(driver);
search .sendKeys(Keys.chord(Keys.CONTROL,"+f")).sendKeys("Java is").build().perform();

Selenium은 브라우저가 아닌 html 요소에만 키 이벤트를 보낼 수있는 것 같습니다 (ctrl + F의 경우).

지금은 실제로 해결책이 보이지 않습니다. 다른 사람이 해결책을 찾을 수 있는지 살펴 보겠습니다. 흥미로운 문제입니다. 설명하신대로 텍스트를 선택하는 것도 도움이 될 것입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관