我正在尝试创建一个从网站下载文件的脚本,为此我想更改下载文件路径。当我尝试使用 Firefox 选项执行此操作时,出现以下错误:
TypeError: WebDriver.__init__() got an unexpected keyword argument 'firefox_options'
Run Code Online (Sandbox Code Playgroud)
代码:
from selenium import webdriver
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.common.keys import Keys
import time
options = Options()
options.add_argument("download.default_directory=C:\\Music")
browser = webdriver.Firefox(firefox_options=options, executable_path=r'C:\\selenium\\geckodriver.exe')
browser.get('https://duckduckgo.com/')
Run Code Online (Sandbox Code Playgroud) 我正在使用 Selenium ChromeDriver 来测量网页的性能。但是默认情况下在 Chrome 驱动程序缓存中是启用的。
选项--disable-application-cache现已弃用https://code.google.com/p/chromium/issues/detail?id=447206
我也可以每次都初始化一个新的驱动程序实例,但不是很方便。
我的问题有没有办法正确禁用缓存?
谢谢!
java selenium google-chrome google-chrome-devtools selenium4
我使用Selenium和Python Chrome webdriver.在我使用的代码中:
driver = webdriver.Chrome(executable_path = PATH_TO_WEBDRIVER)
Run Code Online (Sandbox Code Playgroud)
将webdriver指向webdriver可执行文件.有没有办法将webdriver指向Chrome浏览器二进制文件?
在https://sites.google.com/a/chromium.org/chromedriver/capabilities中,他们有以下内容(我认为它正是我正在寻找的):
ChromeOptions options = new ChromeOptions();
options.setBinary("/path/to/other/chrome/binary");
Run Code Online (Sandbox Code Playgroud)
有人有Python的例子吗?
我环顾四周检查了两份文件并找不到答案.
我一直在尝试使用InstaPy为python进行instagram api.失败后出现多个错误,并假设InstaPy只是遇到了一些问题,所以我尝试使用selinium对其进行原始编码.在插入示例代码并将其改为我喜欢之后,我确保这个代码能够正常工作.我收到了一个新错误而不是旧错误,说权限可能不对.我尝试重新安装并以管理员身份运行,但没有任何作用.我该如何解决这个和/或这是什么意思
码:
import time
from selenium import webdriver
driver = webdriver.Chrome('C:\Webdrivers') # Optional argument, if not specified will search path.
driver.get('http://www.google.com/xhtml');
time.sleep(5) # Let the user actually see something!
search_box = driver.find_element_by_name('q')
search_box.send_keys('ChromeDriver')
search_box.submit()
time.sleep(5) # Let the user actually see something!
driver.quit()
Run Code Online (Sandbox Code Playgroud)
错误:
Traceback (most recent call last):
File "C:\Program Files (x86)\Python36-32\lib\site-packages\selenium\webdriver\common\service.py", line 74, in start
stdout=self.log_file, stderr=self.log_file)
File "C:\Program Files (x86)\Python36-32\lib\subprocess.py", line 707, in __init__
restore_signals, start_new_session)
File "C:\Program Files (x86)\Python36-32\lib\subprocess.py", line 990, in _execute_child
startupinfo) …Run Code Online (Sandbox Code Playgroud) python selenium google-chrome selenium-chromedriver selenium-webdriver
错误是:
Exception in thread "main" org.openqa.selenium.ElementNotInteractableException: Element <div id="u_0_b" class="_5dbb"> is not reachable by keyboard
Run Code Online (Sandbox Code Playgroud)
代码是:
System.setProperty("webdriver.gecko.driver","//Users//rozali//Documents//Selenium//geckodriver");
WebDriver driver = new FirefoxDriver();
driver.get("http://www.facebook.com");
driver.manage().window().maximize();
//entering first name
driver.findElement(By.id("u_0_b")).click();
driver.findElement(By.id("u_0_b")).sendKeys("testing it ");
//DOB
Select sel1 = new Select(driver.findElement(By.xpath(".//*[@id='month']")));
sel1.selectByIndex(4);
Select sel2 = new Select(driver.findElement(By.xpath(".//*[@id='day']")));
sel2.selectByValue("6");
Select sel3 = new Select(driver.findElement(By.xpath(".//*[@id='year']")));
sel3.selectByValue("2013");
//clicking sign up
driver.findElement(By.id("u_0_t")).click();
Run Code Online (Sandbox Code Playgroud) 出于某种原因,只有在打开嵌套webdriver实例时才会出现以下错误.不知道这里发生了什么.
我使用的是Windows 10, geckodriver 0.21.0和Python 3.7.
ConnectionAbortedError:[WinError 10053]
An established connection was aborted by the software in your host machine
Run Code Online (Sandbox Code Playgroud)
工作正常的脚本的一部分
tab_backers = ff.find_element_by_xpath('//a[@gogo-test="backers_tab"]')
try:
funding_backers_count = int(''.join(filter(str.isdigit, str(tab_backers.text))))
except ValueError:
funding_backers_count = 0
if funding_backers_count > 0:
tab_backers.click()
see_more_backers = WebDriverWait(ff, 10).until(
EC.element_to_be_clickable((By.XPATH, '//ui-view//a[text()="See More Backers"]'))
)
clicks = 0
while clicks < 0:
clicks += 1
ff.WebDriverWait(ff, 5).until(
see_more_backers.click()
)
for container in ff.find_elements_by_xpath('//ui-view//div[@class="campaignBackers-pledge ng-scope"]'):
backers_profile = container.find_elements_by_xpath('./*/div[@class="campaignBackers-pledge-backer-details"]/a')
if …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Selenium创建一个webcrawler,但是在尝试创建webdriver对象时出现此错误。
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: Chrome version must be between 70 and 73
(Driver info: chromedriver=2.45.615291 (ec3682e3c9061c10f26ea9e5cdcf3c53f3f74387),platform=Windows NT 6.1.7601 SP1 x86_64)
Run Code Online (Sandbox Code Playgroud)
我下载了需要Chrome 70-73 的最新版本的chromedriver(2.45)。我当前的Chrome版本是68.0.3440.106(正式版本)(64位),是最新版本。我尝试下载“较旧”的chrome版本(71),并尝试安装它时,安装程序指示我已经安装了较新版本。
即使网站说有,似乎没有以前的Chromedriver版本可供下载。我找不到他们。
我不太了解71版本比68版本如何?
有没有比68实际可用的Chrome版本,或者可以与Chrome 68一起使用的chromedriver旧版本?
还有其他建议吗?
这是我要执行的代码:
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
user = 'XXXXXXX'
pwd = 'XXXXXXX'
chromedriver = "...\...\...\chromedriver.exe"
driver = webdriver.Chrome(executable_path=chromedriver) # Error occurs at this line
driver.get("http://www.facebook.com")
assert "Facebook" in driver.title
time.sleep(5) # So i can see something!
elem = driver.find_element_by_id("email")
elem.send_keys(user)
time.sleep(5) …Run Code Online (Sandbox Code Playgroud) google-chrome webdriver python-3.x selenium-chromedriver selenium-webdriver
将chromedriver更新至2.46版后,我的尝试无法初始化。我收到这样的消息:
Starting ChromeDriver 2.46.628402 (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1) on port 44269
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
Failed to invoke configuration method com.personal.CustomTest.initTests not created: Chrome version must be between 71 and 75
(Driver info: chromedriver=2.46.628402,platform=Windows NT 10.0.16299 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 1.58 seconds
Build info: version: '2.53.1'
Run Code Online (Sandbox Code Playgroud)
显然是我的浏览器版本无效。但是我使用的是Chrome 72.0.3626.119,所以它介于71和75之间。硒版本为2.53.1。我正在testNG的帮助下通过控制台命令运行测试。
任何的想法?我发现的每个想法都与更改硒版本有关,但我做不到。
我们拥有Cucumber Ruby自动化框架,我们在Jenkins的Docker上的Chrome无头浏览器上运行了一些测试。几天前,我们这次使用ChromeDriver 2.46和google-chrome-unstable浏览器,并使用以下命令,开始收到错误消息:“此版本的ChromeDriver仅支持Chrome版本75”:
#Chrome
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list
RUN apt-get update -y
RUN apt-get install -y google-chrome-unstable
RUN apt-get install unzip
# Set up Chromedriver Environment variables
ENV CHROMEDRIVER_VERSION 2.46
ENV CHROMEDRIVER_VERSION 75.0.3770.8
ENV CHROMEDRIVER_DIR /chromedriver
RUN mkdir $CHROMEDRIVER_DIR
# Download and install Chromedriver
RUN wget -q --continue -P $CHROMEDRIVER_DIR "http://chromedriver.storage.googleapis.com/$CHROMEDRIVER_VERSION/chromedriver_linux64.zip"
RUN unzip $CHROMEDRIVER_DIR/chromedriver* -d $CHROMEDRIVER_DIR
ENV PATH $CHROMEDRIVER_DIR:$PATH
Run Code Online (Sandbox Code Playgroud)
我现在将chromedriver版本更新为,75.0.3770.8并将浏览器更新为google-chrome-beta=75.0.3770.27-1
#Chrome
RUN wget …Run Code Online (Sandbox Code Playgroud) ruby selenium google-chrome selenium-chromedriver webdriver-w3c-spec
我使用的是版本 81.0.4044.113(官方版本)(64 位)。以前没有发生过,代码运行良好。但是几天后我再次运行它,这个错误来了。
我正在使用这些模块->
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
import csv
import time
from tkinter import *
def Authorization():
time.sleep(15)
username = driver.find_element_by_id("userInput")
username.send_keys('username')
driver.find_element_by_xpath("//*[@id='login-button']").click()
time.sleep(5)
password = driver.find_element_by_xpath("//*[@id='passwordInput']")
password.send_keys('password')
submit_button = driver.find_element_by_xpath("//*[@id='login-button']").click()
def Extractor():
time.sleep(25)
integrated_release = driver.find_elements_by_xpath("//*[@id='versionArea']/div/table/tbody/tr[2]/td[2]")
global integrated_release_data
integrated_release_data = [x.text for x in integrated_release]
impact_release = driver.find_elements_by_xpath("//*[@id='versionArea']/div/table/tbody/tr[5]/td[2]")
global impact_release_data
impact_release_data = [x.text for x in impact_release]
build_platform = driver.find_elements_by_xpath("//*[@id='btkArea']/div/table/tbody/tr[2]/td[2]/span") …Run Code Online (Sandbox Code Playgroud) python selenium google-chrome selenium-chromedriver selenium-webdriver
selenium ×9
python ×5
webdriver ×3
geckodriver ×2
java ×2
python-3.x ×2
facebook ×1
firefox ×1
linux ×1
react-native ×1
ruby ×1
selenium4 ×1