selenium.common.exceptions.InvalidArgumentException:消息:通过 Python 使用 Selenium Webdriver 调用 get() 时出现无效参数错误
selenium.common.exceptions.InvalidArgumentException: Message: invalid argument error invoking get() using Selenium Webdriver through Python
我正在制作一个要求搜索的 GUI,转到 Ebay 并找到该搜索的平均价格。但是我无法打开它来打开 Selenium。但就是找不到答案。我应该做些什么?
这是我的错误:
Traceback (most recent call last):
File "C:\Program Files\Python39\lib\tkinter\__init__.py", line 1885, in __call__
return self.func(*args)
File "C:\Users\Jay\AppData\Roaming\Python\Python39\site-packages\appJar\appjar.py", line 3781, in <lambda>
return lambda *args: funcName()
File "C:\Users\Jay\Downloads\ebaything\ebay thing.py", line 25, in search
driver.get("ebay.com")
File "C:\Program Files\Python39\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 333, in get
self.execute(Command.GET, {'url': url})
File "C:\Program Files\Python39\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Program Files\Python39\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=87.0.4280.88)
这是我的代码:
from appJar import gui
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.webdriver.chrome.options import Options
from time import sleep
def main():
app = gui("Search, And Find The Average!")
PATH = "chromedriver.exe"
options = Options()
options.headless = True
driver = webdriver.Chrome(PATH, options=options)
def close():
app.stop()
def search():
Search = app.getEntry("search")
if Search == '':
app.infoBox("Invalid", "Invalid Search")
else:
driver.get("ebay.com")
driver.find_element_by_xpath('//*[@id="gh-ac"]').send_keys(search)
try:
driver.find_element_by_class('s-item__link')
except:
app.infoBox("Invalid", "There Are No Items Matching Your Search.")
def info():
app.infoBox("InfoBox", "If It Does Not Work Try Reading The FAQ.")
app.addEntry("search")
app.setEntryDefault("search", "Put Your Search Here!")
app.addButton("Close", close)
app.addButton("Search", search)
app.addButton("Info", info)
app.go()
if __name__ == '__main__':
main()
如果您需要更多信息,请发表评论。
这个错误信息...
Traceback (most recent call last):
File "C:\Program Files\Python39\lib\tkinter\__init__.py", line 1885, in __call__
.
File "C:\Users\Jay\Downloads\ebaything\ebay thing.py", line 25, in search
driver.get("ebay.com")
File "C:\Program Files\Python39\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 333, in get
self.execute(Command.GET, {'url': url})
File "C:\Program Files\Python39\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
.
selenium.common.exceptions.InvalidArgumentException: Message: invalid argument
(Session info: headless chrome=87.0.4280.88)
...表示在执行行时 __init__
中出现错误:
driver.get("ebay.com")
您需要传递完整的 url,即 https://www.ebay.com/
.
,而不是传递部分 域名 ebay.com
解决方案
此外,您可能还想通过 Key executable_path
传递 的绝对路径。所以有效的代码块将是:
def main():
app = gui("Search, And Find The Average!")
PATH = r'C:\path\to\chromedriver.exe'
options = Options()
options.headless = True
driver = webdriver.Chrome(executable_path=PATH, options=options)
以后
driver.get("https://www.ebay.com/")
我正在制作一个要求搜索的 GUI,转到 Ebay 并找到该搜索的平均价格。但是我无法打开它来打开 Selenium。但就是找不到答案。我应该做些什么? 这是我的错误:
Traceback (most recent call last):
File "C:\Program Files\Python39\lib\tkinter\__init__.py", line 1885, in __call__
return self.func(*args)
File "C:\Users\Jay\AppData\Roaming\Python\Python39\site-packages\appJar\appjar.py", line 3781, in <lambda>
return lambda *args: funcName()
File "C:\Users\Jay\Downloads\ebaything\ebay thing.py", line 25, in search
driver.get("ebay.com")
File "C:\Program Files\Python39\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 333, in get
self.execute(Command.GET, {'url': url})
File "C:\Program Files\Python39\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Program Files\Python39\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=87.0.4280.88)
这是我的代码:
from appJar import gui
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.webdriver.chrome.options import Options
from time import sleep
def main():
app = gui("Search, And Find The Average!")
PATH = "chromedriver.exe"
options = Options()
options.headless = True
driver = webdriver.Chrome(PATH, options=options)
def close():
app.stop()
def search():
Search = app.getEntry("search")
if Search == '':
app.infoBox("Invalid", "Invalid Search")
else:
driver.get("ebay.com")
driver.find_element_by_xpath('//*[@id="gh-ac"]').send_keys(search)
try:
driver.find_element_by_class('s-item__link')
except:
app.infoBox("Invalid", "There Are No Items Matching Your Search.")
def info():
app.infoBox("InfoBox", "If It Does Not Work Try Reading The FAQ.")
app.addEntry("search")
app.setEntryDefault("search", "Put Your Search Here!")
app.addButton("Close", close)
app.addButton("Search", search)
app.addButton("Info", info)
app.go()
if __name__ == '__main__':
main()
如果您需要更多信息,请发表评论。
这个错误信息...
Traceback (most recent call last):
File "C:\Program Files\Python39\lib\tkinter\__init__.py", line 1885, in __call__
.
File "C:\Users\Jay\Downloads\ebaything\ebay thing.py", line 25, in search
driver.get("ebay.com")
File "C:\Program Files\Python39\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 333, in get
self.execute(Command.GET, {'url': url})
File "C:\Program Files\Python39\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
.
selenium.common.exceptions.InvalidArgumentException: Message: invalid argument
(Session info: headless chrome=87.0.4280.88)
...表示在执行行时 __init__
中出现错误:
driver.get("ebay.com")
您需要传递完整的 url,即 https://www.ebay.com/
.
ebay.com
解决方案
此外,您可能还想通过 Key executable_path
传递
def main():
app = gui("Search, And Find The Average!")
PATH = r'C:\path\to\chromedriver.exe'
options = Options()
options.headless = True
driver = webdriver.Chrome(executable_path=PATH, options=options)
以后
driver.get("https://www.ebay.com/")