如何使用Python Selenium从HTML DOM打印更多链接?
html:
<div class="xxxx">
<a href="ooooo.pdf"></a>
</div>
Python Selenium代码试验:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
print(wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.xxxx a"))).get_attribute('href'))
输出:
aaaaa.pdf
如何打印OOOOO.pdf
和aaaaaa.pdf
?
我想打印更多链接,该怎么办?
Html:
<div class="xxxx">
<a href="ooooo.pdf"></a>
</div>
Python selenium code trials:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
print(wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div.xxxx a"))).get_attribute('href'))
Output:
aaaaa.pdf
How print ooooo.pdf
and aaaaa.pdf
?
I want to print more links, what should I do?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
element_to_be_be_clickable() 仅印刷第一个匹配元素的属性。
提取
所有
href
属性值您必须诱导 webdriverwait for visibility_of_All_ELEments_Located() ,您可以使用以下任何一个以下任何一个://stackoverflow.com/questions/48369043/official-locator-strategies-for for-the-webdriver“> 定位器策略 :使用
使用 css_selector :
使用 xpath :
替代方案
您也可以尝试:
使用 css_selector :
使用 xpath :
element_to_be_clickable() returns a single WebElement hence
href
attribute of only the first matching element is printed.Solution
To extract all the
href
attribute values you have to induce WebDriverWait for visibility_of_all_elements_located() and you can use either of the following locator strategies:Using CSS_SELECTOR:
Using XPATH:
Alternative
As an alternative you can also try:
Using CSS_SELECTOR:
Using XPATH: