셀레늄 웹 드라이버를 사용하여 링크를 클릭 할 수 없습니다.

사용자 3358673

첫 번째 링크를 클릭하기 위해 자동화 된 Google 검색을 얻으려고합니다. 지금까지 나는 성공하지 못했고 누군가 나를 도와 줄 수 있는지 궁금했다. 첫 번째 링크를 클릭하는 작업이 매번 실패하더라도 검색 결과가 채워집니다.

require "selenium-webdriver"

driver = Selenium::WebDriver.for :firefox
driver.navigate.to "http://google.com"

element = driver.find_element(:name, 'q')
element.send_keys "translate"
element.submit

resultlink = driver.find_Element(:link, "Google Translate")
resultlink.click
Yi Zeng

첫째, Selenium을 배우는 경우 Google 페이지를 사용하여 시작하지 마십시오. 단순 해 보이지만 후드 아래에서 매우 까다 롭고 복잡합니다. 자동화 할 다른 웹 사이트를 찾아주세요. 어쨌든 Google의 사용자 계약에 위배됩니다.

그런 다음 작업 코드를 제공 할 수 있습니다. 참고 Google 검색 결과는 다른 브라우저에서 다르게 렌더링 될 수 있으며 WebDriverWait 를 사용 하여 대기 해야합니다 .

require 'selenium-webdriver'

driver = Selenium::WebDriver.for :firefox
driver.navigate.to "http://google.com"

element = driver.find_element(:name, 'q')
element.send_keys "translate"
element.submit


wait = Selenium::WebDriver::Wait.new(:timeout => 10)
wait.until {
    driver.find_element(:css , 'h3 > a')
}

# click first result
# driver.find_element(:xpath , '(.//h3/a)[1]').click

results = driver.find_elements(:css , 'h3 > a')
results.each { |result|
    if result.attribute('textContent') == 'Google Translate'
        result.click
        break
    end
}

(.//h3/a)[1]첫 번째 결과를 의미합니다. Firefox에서 결과는 data-href식별을위한 고유하지 않으므로 색인을 사용해야합니다.

그렇지 않으면 속성 textContent이 같은 링크에 대한 모든 결과 링크를 반복 할 수 있습니다 Google Translate. 링크 텍스트는 실제로 Google <em>Translate</em>이므로 text()XPath에서 사용하면 작동하지 않을 수 있습니다.

위의 해결책이 너무 많아서 Google 페이지를 사용하여 Selenium 학습을 시작해서는 안된다는 것을 증명합니다. ;)

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Python에서 셀레늄 웹 드라이버를 사용하여 링크를 클릭 할 수 없습니다.

분류에서Dev

셀레늄 웹 드라이버 자바를 사용하여 툴팁 링크를 클릭 할 수 없습니다.

분류에서Dev

셀레늄 웹 드라이버를 사용하여 "찾아보기"버튼을 클릭 할 수 없습니다.

분류에서Dev

셀레늄 웹 드라이버 3.0.1을 사용하여 로그 아웃 링크를 클릭 할 수 없습니다.

분류에서Dev

div 버튼 셀레늄 웹 드라이버를 클릭 할 수 없습니다.

분류에서Dev

셀레늄 웹 드라이버 및 루비를 사용하는 ID로 팝업을 클릭 할 수 없습니다.

분류에서Dev

셀레늄 웹 드라이버 2.33 및 Firefox 22를 사용하여 웹 페이지를 열 수 없습니다.

분류에서Dev

셀레늄 파이썬을 통해 테이블의 하이퍼 링크를 클릭 할 수 없습니다.

분류에서Dev

셀레늄 웹 드라이버를 사용하여 공유 지점 사이트에서 드롭 다운을 선택할 수 없습니다.

분류에서Dev

셀레늄 웹 드라이버를 사용하여 텍스트 영역 필드를 지울 수 없습니다.

분류에서Dev

셀레늄 자바를 사용하여 지정된 리 요소를 클릭 할 수 없습니다

분류에서Dev

셀레늄 웹 드라이버를 사용하여 메시지 상자를 클릭하려고합니다.

분류에서Dev

웹 드라이버를 사용하여 버튼을 클릭 할 수 없음

분류에서Dev

셀레늄 웹 드라이버를 설치할 수 없음

분류에서Dev

셀레늄 웹 드라이버를 설치할 수 없음

분류에서Dev

Python, 셀레늄 | 여기에서 테스트를 클릭 할 수 없습니다.

분류에서Dev

Python 셀레늄에서 셀레늄 크롬 웹 드라이버를 사용하여 요소를 찾을 수 없습니다.

분류에서Dev

셀레늄을 사용하여 요소를 클릭 할 수 없음

분류에서Dev

Ruby를 사용하여 셀레늄 웹 드라이버에서 HAR 파일을 가져올 수 없습니다.

분류에서Dev

셀레늄 웹 드라이버로 Gmail에서 설정 아이콘을 클릭 할 수 없습니다.

분류에서Dev

셀레늄 웹 드라이버를 사용하여 단일 셀에 여러 값을 인쇄 할 수 있습니다.

분류에서Dev

PHP 웹 드라이버 및 셀레늄을 사용하는 동안 addEventListener 함수를 찾을 수 없습니다.

분류에서Dev

내 웹 사이트의 링크를 클릭 할 수 없습니다.

분류에서Dev

Selenium을 사용하여 웹 사이트를 클릭 할 수 없습니다.

분류에서Dev

Mac OS El Capitan에서 셀레늄 웹 드라이버를로드 할 수 없습니다.

분류에서Dev

셀레늄을 사용하여 링크 버튼을 클릭 할 수 없음 오류 요소를 찾을 수 없음 예외가 발생 함

분류에서Dev

2010 대 C #을 사용하여 자동화에 셀레늄 웹 드라이버를 사용할 수 있습니까?

분류에서Dev

셀레늄 웹 드라이버를 사용하여 요소 수를 어떻게 찾을 수 있습니까?

분류에서Dev

요소가 셀레늄 웹 드라이버에 있는지 여부를 확인하려면 무엇을 사용할 수 있습니까?

Related 관련 기사

  1. 1

    Python에서 셀레늄 웹 드라이버를 사용하여 링크를 클릭 할 수 없습니다.

  2. 2

    셀레늄 웹 드라이버 자바를 사용하여 툴팁 링크를 클릭 할 수 없습니다.

  3. 3

    셀레늄 웹 드라이버를 사용하여 "찾아보기"버튼을 클릭 할 수 없습니다.

  4. 4

    셀레늄 웹 드라이버 3.0.1을 사용하여 로그 아웃 링크를 클릭 할 수 없습니다.

  5. 5

    div 버튼 셀레늄 웹 드라이버를 클릭 할 수 없습니다.

  6. 6

    셀레늄 웹 드라이버 및 루비를 사용하는 ID로 팝업을 클릭 할 수 없습니다.

  7. 7

    셀레늄 웹 드라이버 2.33 및 Firefox 22를 사용하여 웹 페이지를 열 수 없습니다.

  8. 8

    셀레늄 파이썬을 통해 테이블의 하이퍼 링크를 클릭 할 수 없습니다.

  9. 9

    셀레늄 웹 드라이버를 사용하여 공유 지점 사이트에서 드롭 다운을 선택할 수 없습니다.

  10. 10

    셀레늄 웹 드라이버를 사용하여 텍스트 영역 필드를 지울 수 없습니다.

  11. 11

    셀레늄 자바를 사용하여 지정된 리 요소를 클릭 할 수 없습니다

  12. 12

    셀레늄 웹 드라이버를 사용하여 메시지 상자를 클릭하려고합니다.

  13. 13

    웹 드라이버를 사용하여 버튼을 클릭 할 수 없음

  14. 14

    셀레늄 웹 드라이버를 설치할 수 없음

  15. 15

    셀레늄 웹 드라이버를 설치할 수 없음

  16. 16

    Python, 셀레늄 | 여기에서 테스트를 클릭 할 수 없습니다.

  17. 17

    Python 셀레늄에서 셀레늄 크롬 웹 드라이버를 사용하여 요소를 찾을 수 없습니다.

  18. 18

    셀레늄을 사용하여 요소를 클릭 할 수 없음

  19. 19

    Ruby를 사용하여 셀레늄 웹 드라이버에서 HAR 파일을 가져올 수 없습니다.

  20. 20

    셀레늄 웹 드라이버로 Gmail에서 설정 아이콘을 클릭 할 수 없습니다.

  21. 21

    셀레늄 웹 드라이버를 사용하여 단일 셀에 여러 값을 인쇄 할 수 있습니다.

  22. 22

    PHP 웹 드라이버 및 셀레늄을 사용하는 동안 addEventListener 함수를 찾을 수 없습니다.

  23. 23

    내 웹 사이트의 링크를 클릭 할 수 없습니다.

  24. 24

    Selenium을 사용하여 웹 사이트를 클릭 할 수 없습니다.

  25. 25

    Mac OS El Capitan에서 셀레늄 웹 드라이버를로드 할 수 없습니다.

  26. 26

    셀레늄을 사용하여 링크 버튼을 클릭 할 수 없음 오류 요소를 찾을 수 없음 예외가 발생 함

  27. 27

    2010 대 C #을 사용하여 자동화에 셀레늄 웹 드라이버를 사용할 수 있습니까?

  28. 28

    셀레늄 웹 드라이버를 사용하여 요소 수를 어떻게 찾을 수 있습니까?

  29. 29

    요소가 셀레늄 웹 드라이버에 있는지 여부를 확인하려면 무엇을 사용할 수 있습니까?

뜨겁다태그

보관