웹 사이트에서 정보를 긁어 내려고했지만 셀렌을 사용하여 정보를 탐색하는 데 문제가 있습니다. 사이트는 ng-click을 사용하여 테이블을 업데이트하므로 원하는 정보를 얻으려면 페이지의 다른 탭을 활성화해야합니다. 나는 그것이 기본적으로로드 이후 "카테고리 1"의 정보를 긁어하는 방법을 알아 낸셀렌으로 웹 사이트 탐색하기
<ul class="tabs swiper-wrapper" ng-class="{'swiper-wrapper' : swiperActive }">
<li ng-repeat="category in Report.Winners track by $index" ng-click="updateCategory(category.key)" ng-class="{'active' : category.key == activeCategory, 'swiper-slide' : swiperActive }" class="ng-scope active">
<p class="category text-small ng-binding">Category 1</p>
<p class="winner">
</p>
</li><li ng-repeat="category in Report.Winners track by $index" ng-click="updateCategory(category.key)" ng-class="{'active' : category.key == activeCategory, 'swiper-slide' : swiperActive }" class="ng-scope">
<p class="category text-small ng-binding">Category 2</p>
<p class="winner">
</p>
</li><li ng-repeat="category in Report.Winners track by $index" ng-click="updateCategory(category.key)" ng-class="{'active' : category.key == activeCategory, 'swiper-slide' : swiperActive }" class="ng-scope">
<p class="category text-small ng-binding">Category 3</p>
<p class="winner">
</p>
</li>
</ul>
:이 탭을 생성하는 HTML이다. "범주 2"및 "범주 3"으로 이동하면 해당 항목도 다 긁을 수 있습니까? 감사! 이런 식으로 이렇게
for x in range(len(available_categories_links)):
available_categories_links[x].click()
:
업데이트 :
각 범주에 대한 링크를 찾으려면이를 사용하여 종료 I :이 같은 그들을 통해
available_categories_links = browser.find_elements_by_css_selector("ul > [ng-click*=updateCategory]")
을 그리고 나서 루프 원래 내가 원했던 것처럼 다른 탭을 이름별로 액세스 할 수 없으며 아마도 가장 효율적이거나 매우 강력하지는 않지만 특정 경우에는 완료됩니다.
링크 텍스트로 요소를 찾으려고 했습니까? 'driver.find_element_by_link_text ("Category 2")' –
예, 저는 그것을 시도했습니다. 내가 할 때 "NoSuchElementException"얻을. 검색하려는 텍스트가 내가 원하는 요소의 하위 요소이기 때문에 이것이 생각하십니까? – dataryne