browser = webdriver.Firefox()
browser.get(url)
divs = browser.find_elements_by_class_name('class')
browser.find_element_by_class_name('class') 是否有任何属性?
例如,如果我有这样的代码:
<div class="foo">
<a href="" class="poo">one</a>
<a href="" class="poo">two</a>
<a href="" class="poo">three</a>
</div>
<div class="foo">
<a href="" class="koo">one</a>
<a href="" class="koo">two</a>
<a href="" class="koo">three</a>
</div>
我想从“a”标签获取文本。
但首先我想得到div。
所以我做了类似的事情:
divs = browser.find_elements_by_class_name('foo')
现在我想从我的 divs 数组中获取所有“a”标签。是否可以?
CLASS_NAME
CLASS_NAME其中一个Selenium支持的定位策略以及的财产网页元素获取和设置值的接口class
指定元素的属性。
为了得到texts from <a>
父标签<div>
您可以使用以下任一标签定位策略:
-
Using CLASS_NAME
:
print([my_elem.text for my_elem in WebDriverWait(driver, 10).until(EC.visibility_of_all_elements_located((By.CLASS_NAME, "koo")))])
-
Using CSS_SELECTOR
:
print([my_elem.text for my_elem in WebDriverWait(driver, 10).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "div.foo a.koo")))])
-
Using XPATH
:
print([my_elem.text for my_elem in WebDriverWait(driver, 10).until(EC.visibility_of_all_elements_located((By.XPATH, "//div[@class='foo']//a[@class='koo']")))])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)