如何使用 Python 通过 Selenium 检索标题属性?
How to retrieve the title attribute through Selenium using Python?
这是我的代码:print(browser.find_element_by_partial_link_text("followers").get_attributes("title"))
。我正在使用 find_element_by_partial_link_text
因为 xpath 可能对每个用户都是唯一的。但是我的代码returns什么都没有。这是元素的地址:
<li class=" LH36I">
<a class=" _81NM2" href="/username/followers/">
<span class="g47SY lOXF2" title="3,862,378">3.8m</span>
" followers"
</a>
</li>
所以我的问题是如何使用 find_element_by_partial_link_text
获取标题中的值?提前致谢。
已解决:你可以看看 DebanjanB 的回答。
使用以下 xpath 获取值。
print(browser.find_element_by_xpath("//a[contains(.,'followers')]/span").get_attribute("title"))
您可以像这样使用 xpath
:
print(browser.find_element_by_xpath("//li[contains(@class,'LH36I')]//a[contains(@class,'_81NM2')]//span[contains(@class,'g47SY lOXF2')]").get_attributes("title"))
标题 的文本,即 3,862,378 不在任何 <a>
标签中。因此你不能使用 find_element_by_partial_link_text()
。此外,该元素是动态元素,因此您必须为所需的 visibility_of_element_located()
引入 WebDriverWait,您可以使用以下解决方案:
使用XPATH
:
print(WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.XPATH, "//a[@href='/username/followers/' and contains(., 'followers')]/span"))).get_attribute("title"))
使用CSS_SELECTOR
:
print(WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "a[href='/username/followers/']>span"))).get_attribute("title"))
注意:根据文档,实际方法是 get_attribute(name)
但不是 get_attributes()
这是我的代码:print(browser.find_element_by_partial_link_text("followers").get_attributes("title"))
。我正在使用 find_element_by_partial_link_text
因为 xpath 可能对每个用户都是唯一的。但是我的代码returns什么都没有。这是元素的地址:
<li class=" LH36I">
<a class=" _81NM2" href="/username/followers/">
<span class="g47SY lOXF2" title="3,862,378">3.8m</span>
" followers"
</a>
</li>
所以我的问题是如何使用 find_element_by_partial_link_text
获取标题中的值?提前致谢。
已解决:你可以看看 DebanjanB 的回答。
使用以下 xpath 获取值。
print(browser.find_element_by_xpath("//a[contains(.,'followers')]/span").get_attribute("title"))
您可以像这样使用 xpath
:
print(browser.find_element_by_xpath("//li[contains(@class,'LH36I')]//a[contains(@class,'_81NM2')]//span[contains(@class,'g47SY lOXF2')]").get_attributes("title"))
标题 的文本,即 3,862,378 不在任何 <a>
标签中。因此你不能使用 find_element_by_partial_link_text()
。此外,该元素是动态元素,因此您必须为所需的 visibility_of_element_located()
引入 WebDriverWait,您可以使用以下解决方案:
使用
XPATH
:print(WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.XPATH, "//a[@href='/username/followers/' and contains(., 'followers')]/span"))).get_attribute("title"))
使用
CSS_SELECTOR
:print(WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "a[href='/username/followers/']>span"))).get_attribute("title"))
注意:根据文档,实际方法是 get_attribute(name)
但不是 get_attributes()