为了账号安全,请及时绑定邮箱和手机立即绑定

如果使用 XPath python selenium 匹配父类和 URL,我无法找到两个子类

如果使用 XPath python selenium 匹配父类和 URL,我无法找到两个子类

慕勒3428872 2023-03-16 09:53:28
您好,我一直在尝试为一位家长找到符合以下要求的元素:这是下面的链接 https://shopee.com.my/search?keyword=mattressParent Class<div class ="col-xs-2-4 shopee-search-item-result__item" data-sqe="item">Child class<a data-sqe="link" href= "all urls that is printed in python.">Child class contains this element<div class = "_1gkBDw _2O43P5"><div class = "_1HvBLA"><div class = "_3ao649" data-sqe="ad"> Ad</div>只需检查顶部栏的元素:其中显示了突出显示的“广告”这是我要实现的目标:用户点击包含产品页面广告栏的特定产品页面。这是我的代码: WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='col-xs-2-4 shopee-search-item-result__item' and @data-sqe='item'][.//a[@data-sqe='link' and @href='" + result[i] +"']]"))).click()Xpath 假设找到父级//div[@class="col-xs-2-4 shopee-search-item-result__item"]和一个href "/Direct-Export-Super-Single-Mattress-Synthetic-Latex-(6-Inches)-i.281593956.6140904430"完美运行的父级并单击它。WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[@class='col-xs-2-4 shopee-search-item-result__item' and @data-sqe='item'][@class='_1HvBLA'][@class = '_3ao649' and @data-sqe = 'ad'][.//a[@data-sqe='link' and @href='" + all_urls[i] +"']]")))//div[@class="_1HvBLA"]当我尝试找到另外 2 个元素时,父子元素一起单击它时我不起作用,//div[@class="_3ao649"]因为它似乎没有单击它。
查看完整描述

1 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

您不必使用类。您可以使用 CSS 选择器,例如

div[data-sqe=item] a[data-sqe=link]

这应该有效(在开发人员工具中的 Chrome 浏览器元素搜索中尝试。

我建议你通过“CSS diner”在线游戏来学习使用 CSS 选择器。


查看完整回答
反对 回复 2023-03-16
  • 1 回答
  • 0 关注
  • 92 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信