snapper
snapper

Reputation: 1187

Get the List of Multiple Element with Same ClassName

I'd like to crawl every case whose Panel Reoport has already composed from the WTO official page.

enter image description here

and

enter image description here

As you can check at the above image (or refer to

https://www.wto.org/english/tratop_e/dispu_e/dispu_status_e.htm,

Every case is indexed with "DS XXX" and right at the below it denotes whether the "Panel Composed" or still yet "in Consultation".

If I inspect, they all share the same

<p class = "panel-text-simple">

So I had tried following two commands:

elem_info = driver.find_element_by_class_name("panel-title-simple")     
elem_info = driver.find_element_by_xpath("//p[@class='panel-title-simple']");

but every one of them only gives me the top most case, the most recent one.

I have to locate every case's info, then should make a for-loop to check whether the panel composed or not.

How could I do that?

Upvotes: 0

Views: 160

Answers (2)

HaC
HaC

Reputation: 950

Use find_elements (note the 's'). This returns a list that you can then loop through:

documents = driver.find_elements_by_class_name("panel-title-simple");
for document in documents
    # continue with your code

Upvotes: 1

JeffC
JeffC

Reputation: 25596

You can use the XPath below to get all the LIs that have a current status of 'Panel composed'

//li[.//p[contains(.,'Panel composed')]]

From there you can get the DS number

.//small

or the details

./p

and so on.

Upvotes: 0

Related Questions