Проблема в том, что item
является объектом NavigableString, который содержит значение \n
. NavigableString - это просто небольшой текст на странице, в то время как вы, вероятно, ожидаете список td
элементов на основе вашего кода. Чтобы узнать больше о NavigableStrings, смотрите здесь:
https://www.crummy.com/software/BeautifulSoup/bs4/doc/#navigablestring
Я думаю, что здесь проблема с обозначением массива ([0]
) в конце вашего findAll's , Вы правильно получаете все tr
, затем берете только одно, используя обозначение массива, и затем l oop через результат того, что является единственным объектом tr в этой точке. Результатом этого являются теги td
и пробелы между ними.
Короче, избавьтесь от [0]
;)
Код завершения, который я считаю, должен быть ...
test_words = ['Jacqueline','abercrombie']
test_word = ['STEVEN']
for i in test_words:
search = self.driver.find_element_by_xpath('//*[@id="page-wrapper"]/div[3]/div/div/div/div/div[3]/tabletoolstrans/div/input')
search.clear()
search.send_keys(i)
search.send_keys(Keys.RETURN)
time.sleep(3)
soup = BeautifulSoup(self.driver.page_source,"html.parser")
for item in soup.findAll("tr", {"class": "hand_cursor ng-scope"}):
for td in item.findAll("td"):
if td.text == i:
print("Search :"+i+"")
buttons.save_csv(self, "Pass")
else:
print("Fail")
print("jaq")
time.sleep(3)
Примечание - также добавлено .text
в эту строку для получения содержимого тега.
if td.text == i: