5 python selenium google-chrome webdriver selenium-chromedriver
我正在尝试使用 selenium 单击按钮,因此我让它通过 xpath 找到元素,因为我找不到 id 。编辑:我认为其余的代码与它没有任何关系,但我添加它以防万一
这是代码
import requests
import os
import selenium
from selenium import webdriver
os.system("cls")
print(" ")
print("______________ _____________ ________________")
print("| | | | | | | | |______________|")
print("| |________ // | | __ | | | |")
print("| |________ \\\\ | | |__| | | | |")
print("| | | | | | | | | |")
print("| |__________| | |__|_______|_| |_|")
print("\u001b[34m Welcome To Movie Downloader")
print("\u001b[31m Please Make Sure To Not Put Every First Letter In Every Word Capital And Also Make Sure To Put Hyphens Instead Of Spaces Between Words, Also Put The Date The Movie Was Made")
print("\u001b[32m For Example: spider-man-homecoming-2017")
def Bot():
URL = input("\u001b[34m What Movie Do You Want To Download:\n")
r = requests.get("https://bila.egy.best/movie/" + URL + "/?ref=search-p1")
if r.status_code == 200:
print("\u001b[32m The Url Is Valid | Movie Has Been Found")
else:
print("\u001b[31m The Url Is Invalid")
print("\u001b[0m")
driver = webdriver.Chrome(executable_path=r'C:\chromedriver.exe')
driver.get("https://bila.egy.best/movie/" + URL + "/?ref=search-p1")
driver.find_element_by_xpath("//*[@id=watch_dl]/table/tbody/tr[2]/td[4]/a[1]").click()
Answer = input("Would You Like To Bot?")
if Answer == "Yes" or "yes" or "sure" or "Sure":
Bot()
Run Code Online (Sandbox Code Playgroud)
这是错误
Traceback (most recent call last):
File "Movie_Download.py", line 32, in <module>
Bot()
File "Movie_Download.py", line 27, in Bot
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 81, in __init__
desired_capabilities=desired_capabilities)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Failed to create a Chrome process.
Run Code Online (Sandbox Code Playgroud)
您需要注意以下几件事:
在传递chromedriver二进制文件的绝对位置时,请使用单个正斜杠和原始 ie开关。所以有效的代码行将是:r
driver = webdriver.Chrome(executable_path=r'C:\chromedriver.exe')
Run Code Online (Sandbox Code Playgroud)@Test
以非管理员/非 root用户身份执行。
另一个可能的原因是Chrome没有按照规范安装在默认位置:
可以有两种方法来解决这种情况:
使用binary_location
属性指向chrome二进制位置。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.binary_location = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"
driver = webdriver.Chrome(chrome_options=options, executable_path="C:/Utility/BrowserDrivers/chromedriver.exe", )
driver.get('http://google.com/')
Run Code Online (Sandbox Code Playgroud)小智 0
你必须编辑
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
Run Code Online (Sandbox Code Playgroud)
到
driver = webdriver.Chrome(executable_path="C:\\chromedriver.exe")
Run Code Online (Sandbox Code Playgroud)
你想念\
如果遇到同样的错误,请尝试以管理员身份运行
或者
移动chromedriver.exe
到其他路径c:/seleniumdriver/chromedriver.exe"
并编辑executable_path
归档时间: |
|
查看次数: |
18925 次 |
最近记录: |