【发布时间】:2020-05-02 11:13:34
【问题描述】:
我有一个 .txt 文件中的 URL 列表,我想使用 selenium 运行。
假设文件名为 b.txt,其中包含 2 个 url(格式如下): https://www.google.com/,https://www.bing.com/,
我想要做的是让 selenium 运行两个 url(来自 .txt 文件),但是似乎每次代码到达“driver.get”行时,代码都会失败。
url = open ('b.txt','r')
url_rpt = url.read().split(",")
options = Options()
options.add_argument('--headless')
options.add_argument('--disable-gpu')
driver = webdriver.Chrome(chrome_options=options)
for link in url_rpt:
driver.get(link)
driver.quit()
我运行代码时得到的结果是
Traceback (most recent call last):
File "C:/Users/ASUS/PycharmProjects/XXXX/Test.py", line 22, in <module>
driver.get(link)
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python38\lib\site-
packages\selenium\webdriver\remote\webdriver.py", line 333, in get
self.execute(Command.GET, {'url': url})
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python38\lib\site-
packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Users\ASUS\AppData\Local\Programs\Python\Python38\lib\site-
packages\selenium\webdriver\remote\errorhandler.py", line 242, in
check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidArgumentException: Message: invalid
argument
(Session info: headless chrome=79.0.3945.117)
对如何重写代码有什么建议吗?
【问题讨论】:
-
“失败”是什么意思?你有例外吗?如果是这样,消息和堆栈跟踪是什么?我们需要这些基本信息。
-
在
driver.get(link)上方的for循环中添加一行print(link)。 -
当“代码失败”是什么意思?错误信息是什么?如果你只运行
for url in url_rpt: print(url)会发生什么。这可能不是 Selenium 的问题,但可能是url输入和阅读策略。这将有助于缩小 Selenium 是否真的引发错误,或者问题是否与文件有关。 -
我会在帖子上更新这个。
-
@Christine:谢谢!如果我运行
for url in url_rpt: print (ur)它会返回两个链接就好了。
标签: python list selenium for-loop selenium-webdriver