其实我想构建一个XPATH来逐个点击所有电子邮件。我看到所有电子邮件div中都有一个属性“date-time”。如果该属性的所有值都不同,我如何找到属性为“date-time”的元素的XPATH。
<div tabindex="-1" data-
convid="AQQkADAwATYwMAItZmQxOC0yZDI2LTAwAi0wMAoAEAA4dP/BjTqlQb/qmiKQpP+f"
data-time="2018-05-01T11:14:04+08:00" id="_ariaId_401" class=""><div>
</div><div autoid="_lvv_d" class="_lvv_H1 _lvv_I1 _lvv_L1
listItemDefaultBackground" tabindex="-1" role="option" aria-
haspopup="true">
<div class="_lvv_M1 ms-bgc-ts
所有其他标识符看起来非常动态,在刷新页面时会经常更改。您能否帮助找到“日期时间”的XPATH来选择所有电子邮件。
这是我到目前为止所尝试的内容 -
elements = driver.find_elements_by_xpath(//*[text()[contains(.,'data-time')]])
答案 0 :(得分:1)
您可以按属性找不到值
driver.find_elements_by_xpath('//*[@data-time]')
答案 1 :(得分:0)
您共享的HTML包含 id 为_ariaId_401。
此ID是动态的,但此ID(ariaId)的某些部分是静态的[我假设]。
您可以试用代码:
elements = driver.find_elements_by_xpath('//div[contains(@id,'ariaId')]')
答案 2 :(得分:0)
请使用以下xpath进行检查,
driver.find_elements_by_xpath('.//*[contains(@autoid,'_lvv') and @aria-haspopup='true']');