我正在尝试打印第一列(列A)中包含单词树的所有行。
url = "https:www.example.com"
driver = webdriver.Chrome()
driver.get(url)
inputElement = driver.find_element_by_id("txtBusinessName")
inputElement.send_keys("tree")
inputElement.send_keys(Keys.ENTER)
try:
element = WebDriverWait(driver, 30).until(
EC.presence_of_element_located((By.ID, "grid_businessList"))
)
finally:
html = driver.page_source
soup = BeautifulSoup(html, "html.parser")
table = soup.find('table', id="grid_businessList")
rows = table.findAll("tr")
columns = [v.text.replace('\xa0',' ') for v in rows[0].find_all('th')]
df = pd.DataFrame(columns=columns)
for i in range(1, len(rows)):
tds = rows[i].find_all('td')
if len(tds) == 5:
values = [tds[0].text, tds[1].text, tds[2].text, tds[3].text, tds[4].text, tds[5].text]
else:
values = [td.text for td in tds]
df = df.append(pd.Series(values, index=columns), ignore_index=True)
biz = df[df['Business Name'].str.contains('tree')]
print(biz)
但是,即使它存在于更多行中,它也只能在其中4行中找到“树”。
它将打印11次:
空DataFrame
列:[A,B,C,D,E,F]
索引:[]
然后它打印第11、13、17、20行的准确结果。
为什么.str。不在每一行的A列中查找?