나는이 모든 곳을 보았습니다. 그러나 Ruby의 웹에서 API 클래스 인 Nokogiri의 빈 클래스 속성을 가진 요소를 선택하는 방법에 대한 답을 찾을 수없는 것 같습니까?에 빈 클래스 속성이있는 요소를 어떻게 선택하겠습니까?
css에서 대답은 꽤 솔직하게 보입니다.하지만 nokogiri에서는 답을 찾을 수 없었습니다.
<td class="">
나는이 모든 곳을 보았습니다. 그러나 Ruby의 웹에서 API 클래스 인 Nokogiri의 빈 클래스 속성을 가진 요소를 선택하는 방법에 대한 답을 찾을 수없는 것 같습니까?에 빈 클래스 속성이있는 요소를 어떻게 선택하겠습니까?
css에서 대답은 꽤 솔직하게 보입니다.하지만 nokogiri에서는 답을 찾을 수 없었습니다.
<td class="">
DOM을 선택기 구문은 단지 요소 이름, 클래스, IDS보다 더 깊은 간다 : 아래는 내가 노코 기리 사용하여 타겟팅 할 HTML의 예입니다. 특정 속성 값을 일치시킬 수도 있고 class
은 다른 속성 일 수도 있습니다. 이 설정 클래스 속성을 해달라고 td
것을 선택 다르다는 점
"td[class='']"
참고 : 클래스는 빈 문자열입니다
모든td
을 선택합니다. 이 경우 다음을 사용할 수 있습니다. HTML은 내게 속하지 않는 것처럼 들리므로 다른 접근 방식을 사용합니다. Chrome을 사용하는 경우 브라우저 속성의 HTML 트리에서 요소를 찾은 다음 마우스 오른쪽 버튼을 클릭하고 copy => selector를 클릭합니다. 다음 붙여 넣기; 요소에 액세스 할 수있는 고유 한 선택기가 있습니다.
이것은 Nokogiri가 Javacript를 실행하지 않는다는 사실로 인해 훨씬 더 복잡해졌습니다. 따라서 브라우저 검사기의 DOM이 Nokogiri가 참조한 DOM과 동일하다는 보장이 없습니다. 이 경우 원본 페이지 원본을보고 구조가 동일한 지 확인해야합니다.
JS를 실행할 수있는 Selenium과 같은 자동화 된 브라우저를 사용하면 다른 사람의 페이지를 손쉽게 훑어 볼 수 있습니다.
# encoding: UTF-8
require 'nokogiri'
web = '<a class="ok">selected</a>'
p Nokogiri::HTML(web).xpath('//a[@class="ok"]').text
#=> selected
web = '<a class="">selected</a>'
p Nokogiri::HTML(web).xpath('//a[@class=""]').text
#=> selected
이 방법으로 빈 클래스 요소를 선택할 수 있습니다. 어쩌면 시도해 볼 수 있습니다. 다른 구문 오류가 있는지 확인합니까?