python - Selenium Python 使用查找元素如何获取每个元素的文本值

标签 python selenium selenium-webdriver

我正在使用 Selenium Webdriver 和 Python。 我有一个显示产品列表的搜索结果页面。
我想循环遍历列表并打印出 h2 标签的文本值。 例如。它应该打印出 F1 2015 (PS4) 我知道我应该使用 self.driver_find_elements 将所有元素放入列表中。 然后我应该使用 for 循环来迭代并打印出它的值。 我的代码不起作用。它打印出对象表示的列表。它不打印 F1 2015 (PS4)

这是我的 Selenium python 代码:

 def click_search(self):
    search_field = self.driver.find_element(By.XPATH, '//*[@id="twotabsearchtextbox"]')
    search_field.send_keys("F1")
    search_button = self.driver.find_element(By.XPATH, './/*[@id="nav-search"]/form/div[2]/div/input').click()
    searchresults_text = self.driver.find_elements(By.XPATH, '//div[@class="a-row a-spacing-small"]//a/h2')
    print searchresults_text
    for i in searchresults_text:
        print searchresults_text

html 片段是:

<div class="a-row a-spacing-small">
<a class="a-link-normal s-access-detail-page a-text-normal"  href="http://localhost:8080/testurl/i=1437258749&sr=8-1&keywords=f1" title="F1 2015 (PS4)">
<h2 class="a-size-medium a-color-null s-inline s-access-title a-text-normal">F1 2015 (PS4)</h2>
</a>

控制台的输出是:

<selenium.webdriver.remote.webelement.WebElement object at 0x0282F290>,       
<selenium.webdriver.remote.webelement.WebElement object at 0x0282F2B0>,     
<selenium.webdriver.remote.webelement.WebElement object at 0x0282F2D0>]

Process finished with exit code 0

最佳答案

searchresults_text 的第一个元素绑定(bind)到 i,但您从未使用它并尝试打印 searchresults_text。此外,要获取文本内容,您可以使用 text 属性:

for el in searchresults_text:
   print el.text

关于python - Selenium Python 使用查找元素如何获取每个元素的文本值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31496322/

相关文章:

selenium - Play framework + Selenium webdriver + cucumber sticks on the first http request

python - PyGame 角色离开屏幕

python - "^="在Python中是什么意思?

java - 我并行配置了 TestNG 测试,但它不起作用

java - 如何扩展 Selenium 的 FindBy 注释

java - 无法在 Java Selenium 中选择 Bootstrap 下拉菜单

java - 为使用 Selenium 网络驱动程序的网络应用程序选择云计算服务

python - 在python中使用lambda进行无限递归

python - 在 flask 中禁用自动转义

selenium - Jenkins 在后台模式下启动 chromedriver(如 headless 模式)