小编Deb*_*anB的帖子

TypeError: WebDriver.__init__() 在 Selenium Python 中使用 firefox_options 作为参数时出现意外的关键字参数 'firefox_options' 错误

我正在尝试创建一个从网站下载文件的脚本,为此我想更改下载文件路径。当我尝试使用 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)

python firefox selenium selenium-webdriver geckodriver

15
推荐指数
1
解决办法
3万
查看次数

在 Selenium Chrome 驱动程序中禁用缓存

我正在使用 Selenium ChromeDriver 来测量网页的性能。但是默认情况下在 Chrome 驱动程序缓存中是启用的。

选项--disable-application-cache现已弃用https://code.google.com/p/chromium/issues/detail?id=447206

我也可以每次都初始化一个新的驱动程序实例,但不是很方便。

我的问题有没有办法正确禁用缓存?

谢谢!

java selenium google-chrome google-chrome-devtools selenium4

14
推荐指数
2
解决办法
1万
查看次数

在Python中通过chromedriver设置chrome浏览器二进制文件

我使用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的例子吗?

python linux selenium google-chrome selenium-webdriver

14
推荐指数
1
解决办法
1万
查看次数

'Webdrivers'可执行文件可能具有错误的权限.请参阅https://sites.google.com/a/chromium.org/chromedriver/home

我环顾四周检查了两份文件并找不到答案.

我一直在尝试使用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

14
推荐指数
4
解决办法
3万
查看次数

org.openqa.selenium.ElementNotInteractableException:键盘无法访问元素:在Facebook中将文本发送到FirstName字段时

错误是:

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)

selenium facebook webdriver selenium-webdriver react-native

14
推荐指数
1
解决办法
3万
查看次数

ConnectionAbortedError:[WinError 10053]已建立的连接已被主机中的软件中止

出于某种原因,只有在打开嵌套webdriver实例时才会出现以下错误.不知道这里发生了什么.

我使用的是Windows 10, geckodriver 0.21.0Python 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)

python selenium python-3.x selenium-webdriver geckodriver

14
推荐指数
3
解决办法
2万
查看次数

selenium.common.exceptions.SessionNotCreatedException:消息:未创建会话:ChromeDriver的Chrome版本必须介于70到73之间

我正在尝试使用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

14
推荐指数
4
解决办法
2万
查看次数

更新到ChromeDriver 2.46后,Chrome版本必须介于71到75之间

将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的帮助下通过控制台命令运行测试。

任何的想法?我发现的每个想法都与更改硒版本有关,但我做不到。

java selenium google-chrome webdriver selenium-chromedriver

14
推荐指数
2
解决办法
2万
查看次数

在黄瓜Ruby中使用Selenium ChromeDriver在W3C模式下(Selenium :: WebDriver :: Error :: UnknownCommandError)无法调用非W3C标准命令

我们拥有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

14
推荐指数
3
解决办法
1万
查看次数

12296:26672:0420/163936.459:ERROR:browser_switcher_service.cc(238) XXX Init() “Selenium Python”错误

我使用的是版本 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

14
推荐指数
1
解决办法
5177
查看次数