我正在使用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
答案 0 :(得分:4)
searchresults_text
的第一个元素绑定到i
,但您从不使用它并尝试打印searchresults_text
。此外,要获取文本内容,您可以使用text
属性:
for el in searchresults_text:
print el.text