Selenium Compound class names not permitted
python - Selenium Compound class names not permitted - Stack Overflow
find_element_by_css_selector(."class_name") find_element_by_xpath("//*[@class='class_name']")
どちらかで取得する
複数の場合はもちろん、find_elements_by_にすること
エラーが出てほしくないときは以下のようにしていた
elements = find_elements_by_xpath("xpath") if len(elements) != 0: ~~やりたい処理~~ # 要素が0じゃないとき、find_elementでも取得できるので element = find_element_by_xpath("xpath")
Webページの全ての子要素を取得するには
find_elements_by_css_selector("*") find_elements_by_xpath(".//*")
でWebページのすべての(子)要素を取得可能
seleniumだと親->子という構造の、子の要素を取得しにくい
(xpathで直接指定するなどは可能)
- find_elements_by_class_name
- find_elemetns_by_tab_name
などではどうしても怒られる。
その際は
- 親となる要素をまずfind_element_XXXで取得
- 取得した要素からfind_element_by_XXXを行う
ことにより、取得できる