在selenium python中,按类名称查找元素的属性是什么?
浏览器是否有任何属性。通过类名称(“类”)查找元素 例如,如果我有这样的代码:在selenium python中,按类名称查找元素的属性是什么?,python,selenium,selenium-webdriver,Python,Selenium,Selenium Webdriver,浏览器是否有任何属性。通过类名称(“类”)查找元素 例如,如果我有这样的代码: browser = webdriver.Firefox() browser.get(url) divs = browser.find_elements_by_class_name('class') <div class="foo"> <a href="" class="poo">one</a> <a
browser = webdriver.Firefox()
browser.get(url)
divs = browser.find_elements_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>
现在我想从我的divs数组中获取所有的“a”标记。可能吗?类名
是受支持的属性之一,也是接口的一个属性,该属性获取并设置指定元素的class
属性的值
要从带有父标签的标签中获取文本,您可以使用以下任一定位器策略:
- 使用
:类名
divs = browser.find_elements_by_class_name('foo')
- 使用
:CSS\u选择器
print([my_elem.text for my_elem in WebDriverWait(driver, 10).until(EC.visibility_of_all_elements_located((By.CLASS_NAME, "koo")))])
- 使用
:XPATH
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")))])
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']")))])
是的,我知道。但是,我是否可以以某种方式获得我的div中的锚定标记的文本?我的意思是我想做一些类似的事情:divs.find\u elements\u by\u tag\u name('a')。但我不能做这样的事情,因为我得到了一个巨大的错误。那个错误说明了什么?是“AttributeError:“list”对象没有属性“find_elements_by_tag_name”?没关系,一切都正常。非常感谢。@frianH OP想得到
,但你的回答告诉classfoo
很幸运?嗨@DebanjanB我不认为我们需要讨论divs
,它只是一个变量名。”现在我想从我的divs数组中获取所有的“a”标记。可能吗?“是的@DebanjanB,我想上面的答案已经回答了主要问题,从div
中的每个div
中获取所有a
标记
divs = browser.find_elements_by_class_name('foo')
for div in divs:
elements = div.find_elements_by_tag_name('a')
for element in elements:
print(element.text)