>  기사  >  백엔드 개발  >  Selenium을 사용하여 복잡한 HTML 구조의 버튼을 클릭하는 방법은 무엇입니까?

Selenium을 사용하여 복잡한 HTML 구조의 버튼을 클릭하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-22 16:44:02475검색

How to Click Buttons with Complex HTML Structures Using Selenium?

Selenium 복잡한 HTML 구조의 버튼 클릭

Selenium을 사용하여 복잡한 HTML 구조의 버튼을 클릭하려고 하면 다음과 같은 문제가 발생할 수 있습니다. NoSuchElementException. 이는 버튼의 HTML에 onclick 속성이 있는 여러 클래스 또는 요소가 포함된 경우 발생할 수 있습니다.

이러한 버튼을 정확하게 클릭하려면 다음 단계를 따르세요.

  1. HTML 구조를 확인하세요. 요소를 검사하여 HTML 구조를 확인하세요. 대상 버튼에 onclick 속성이 있는지 확인하세요. 예를 들어 제공된 HTML에는 onclick 속성이 있는 두 개의 버튼이 포함되어 있습니다.
  2. CSS 선택기에서 공백 제거: CSS 선택기를 사용하여 요소를 찾을 때 공백이 없는지 확인하세요. 클래스 이름 사이. 다음 선택기를 수정하세요.

    <code class="python">driver.find_element_by_css_selector('.button .c_button .s_button').click()</code>

    대상:

    <code class="python">driver.find_element_by_css_selector('.button.c_button.s_button').click()</code>
  3. 고유 요소 타겟팅: 버튼 HTML 내에서 고유 요소를 식별하는 데 중점을 둡니다. 이 경우 "Search" 및 "Reset" 텍스트가 포함된 범위 요소는 고유 식별자 역할을 할 수 있습니다.
  4. 정확한 CSS 선택기 사용: 특정 요소를 대상으로 하는 CSS 선택기를 구성합니다. 버튼의 HTML 내에서. 예:

    • "검색" 버튼을 클릭하려면:

      <code class="python">driver.find_element_by_css_selector('.s_button span:contains("Search")').click()</code>
    • "재설정" 버튼을 클릭하려면:

      <code class="python">driver.find_element_by_css_selector('.s_button span:contains("Reset")').click()</code>

이 단계를 따르면 Selenium을 사용하여 복잡한 HTML 구조의 버튼을 정확하게 클릭할 수 있습니다.

위 내용은 Selenium을 사용하여 복잡한 HTML 구조의 버튼을 클릭하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.