第一个很小的程序,困在这一步进行不下去了
import os
from selenium import webdriver
#打开浏览器到百度
ie_driver=os.path.abspath(r"C:\Program Files\Internet Explorer\IEDriverServer.exe")
os.environ["webdriver.ie.IEDriverServer"]=ie_driver
driver=webdriver.Ie(ie_driver)
driver.get("https://www.baidu.com")
#打开 txt f = open(r"D:\worki\hello\hello word.txt",'r')
s=f.readline()
#开始搜索 driver.find_element_by_id("kw").send_keys(s)
driver.find_element_by_id("su").click()
#找到内容
try:
driver.find_element_by_partial_link_text("大学")
print (s+"分数可能不够,再看看别的吧")
except Exception:
print(s)
1
CEBBCAT 2018-05-06 07:52:46 +08:00 via Android 1
来,使用 Markdown 发文或 Gist 分享代码,现在的代码格式有点乱
|
2
FX08 OP @CEBBCAT #1
这样会好一点吗? import os from selenium import webdriver #打开浏览器到百度 ie_driver=os.path.abspath(r"C:\Program Files\Internet Explorer\IEDriverServer.exe") os.environ["webdriver.ie.IEDriverServer"]=ie_driver driver=webdriver.Ie(ie_driver) driver.get("https://www.baidu.com") #打开 txt f = open(r"D:\worki\hello\hello word.txt",'r') s=f.readline() #开始搜索 driver.find_element_by_id("kw").send_keys(s) driver.find_element_by_id("su").click() #找到内容 try: driver.find_element_by_partial_link_text("大学") print (s+"分数可能不够,再看看别的吧") except Exception: print(s) |
3
FX08 OP import os
from selenium import webdriver #打开浏览器到百度 ie_driver=os.path.abspath(r"C:\Program Files\Internet Explorer\IEDriverServer.exe") os.environ["webdriver.ie.IEDriverServer"]=ie_driver driver=webdriver.Ie(ie_driver) driver.get("https://www.baidu.com") #打开 txt f = open(r"D:\worki\hello\hello word.txt",'r') s=f.readline() #开始搜索 driver.find_element_by_id("kw").send_keys(s) driver.find_element_by_id("su").click() #找到内容 try: driver.find_element_by_partial_link_text("大学") print (s+"分数可能不够,再看看别的吧") except Exception: print(s) |
4
laxenade 2018-05-06 08:17:50 +08:00 via Android 1
readline 本来也只会 read 一行
|
6
Blacate 2018-05-06 08:27:15 +08:00 via Android 1
|
7
FX08 OP @Blacate
万分感谢,现在的问题变成 如何把读取出来的行 赋值给 s,直接写 s=line 好像不行 f = open(r"D:\worki\hello\keyword.txt") line=f.readline() while line: print (line,end="") line=f.readline() s=line |
8
jatsz 2018-05-06 09:03:13 +08:00 1
Python 代码靠缩进来隔开语义段,所以没有格式良好的代码很难阅读。按行一行一行读取文件可以使用:
```python with open(r'D:\worki\hello\hello word.txt') as fp: for line in fp: print line ``` |
9
coordinate 2018-05-06 09:06:07 +08:00 1
@FX08 你似乎不知道 generator ? 了解一下。这是 python 里面的基础知识啊。
|
10
jatsz 2018-05-06 09:07:05 +08:00 1
好像回复里不能用 markdown.
with open(r'D:\worki\hello\hello word.txt') as fp: <Tab>for line in fp: <Tab><Tab>print line 一个<Tab>表示一个缩进层次。 |
14
FX08 OP 谢谢大家,问题已经解决
|
15
Sylv 2018-05-06 10:09:43 +08:00 via iPhone
简单来说,你每次都是重新 open 文件来 readline() 一次,得到的当然只能是第一行。你要做的是,在 open 文件后,写个循环 readline() 读取整个文件的每一行。
建议你先找本 Python 基础教程过一遍,先把基础编程知识掌握下。 |
16
WizardMeow 2018-05-06 11:51:58 +08:00 via Android
for i in 文件,每次循环 i 就是一行
|
17
crb912 2018-05-06 12:45:10 +08:00 via Android
我基本都这么写
f = open(r"D:\worki\hello\hello word.txt",'r') for line in f.readlines (): pass |