怎么查找没有使用的css,Webdriver/Selenium:当元素没有类名、id或cssselector时,如何查找它?...

至少有两个关键的东西可以依赖:带有id="lclbox"的容器框和与每个结果项对应的带有class="intrlu"的元素。在

如何从每个结果项中提取地址和电话号码可能会有所不同,这里有一个选项(绝对不漂亮),涉及通过regex检查每个span元素文本来定位电话号码:import re

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

from selenium import webdriver

driver = webdriver.Chrome()

driver.get('https://www.google.com/?gws_rd=ssl#q=plumbers%2Bhouston%2Btx')

# waiting for results to load

wait = WebDriverWait(driver, 10)

box = wait.until(EC.visibility_of_element_located((By.ID, "lclbox")))

phone_re = re.compile(r"\(\d{3}\) \d{3}-\d{4}")

for result in box.find_elements_by_class_name("intrlu"):

for span in result.find_elements_by_tag_name("span"):

if phone_re.search(span.text):

parent = span.find_element_by_xpath("../..")

print parent.text

break

print " -"

我很确定它可以改进,但希望它能给你一个起点。印刷品:

^{pr2}$

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值