GVKun编程网logo

以非超级用户身份从ruby在Xvfb内运行Selenium :: WebDriver :: Firefox(非超级用户只能修改自己的口令)

18

本文将介绍以非超级用户身份从ruby在Xvfb内运行Selenium::WebDriver::Firefox的详细情况,特别是关于非超级用户只能修改自己的口令的相关信息。我们将通过案例分析、数据研究等

本文将介绍以非超级用户身份从ruby在Xvfb内运行Selenium :: WebDriver :: Firefox的详细情况,特别是关于非超级用户只能修改自己的口令的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于Firefox + Selenium WebDriver并自动下载csv文件、paycharm导入webdriver包报错:module ''selenium.webdriver'' has no attribute ''Firefox''、perl – 使用Firefox 26的Selenium Webdriver 2?、python+selenium webdriver.firefox()方式配置浏览器设置的知识。

本文目录一览:

以非超级用户身份从ruby在Xvfb内运行Selenium :: WebDriver :: Firefox(非超级用户只能修改自己的口令)

以非超级用户身份从ruby在Xvfb内运行Selenium :: WebDriver :: Firefox(非超级用户只能修改自己的口令)

我正在尝试使用ruby脚本进行一些无头的测试。本质上,我正在执行display:1上的Xvfb,然后Watir::Browser.new(:firefox)使用watir-
webdriver启动。

如果您以root用户身份运行脚本,则效果很好-我可以运行x11vnc并观看脚本执行浏览器并与之交互。

问题是,我需要能够从Rails应用程序调用此ruby脚本,而不是以root身份运行…如果我尝试以常规用户身份从命令行运行脚本,则Xvfb会在:1上启动像往常一样,但是Watir不会启动浏览器…它最终会在60秒后超时。通过VNC连接时,鼠标光标将显示黑屏。

我可以从命令行完成全部工作-启动Xvfb,然后启动firefox --display=:1并启动浏览器,因此它一定是Selenium问题,对不对?

果壳:Selenium / Webdriver拒绝在Xvfb中启动浏览器,除非我以root身份运行脚本。

答案1

小编典典
  • 已解决-编辑*-对不起,我无法回答问题,但显然我的帐户太新了,无法执行此操作。

解决了!在您问了这个问题之后,类似的事情会如何解决自己,真是令人惊讶。

对于那些想知道为什么的人,我需要做一些事情…

1)确保有问题的用户具有有效的主目录(默认情况下,www-data没有…其主目录由root拥有)

2)从命令行启动Xvfb,然后从命令行启动firefox(不是从脚本内部)-这将用普通的.dbus,.gconf等文件夹填充用户主文件夹

3)如果收到大量延迟,然后出现错误消息,例如“在加载或保存firefox-bin的配置信息时发生错误”,请删除用户主目录中的.dbus文件夹

4)再试一次#2-如果以前有配置错误,现在应该消失了。

5)尝试再次运行脚本。

这对我来说就像是一种魅力,因此,如果您在从Web应用程序中运行Xvfb和watir-webdriver时遇到类似的问题,请尝试一下。

感谢所有人为在网络上发布最佳问答网站所做的贡献…这个地方节省了我的屁股,比我想提的要多。

注意:用户最初在其问题中输入此修订内容,因为他们不知道如何将其发布为答案。后来,一个好心人将其删除,但从未添加为答案。

Firefox + Selenium WebDriver并自动下载csv文件

Firefox + Selenium WebDriver并自动下载csv文件

我对Selenium WebDriver和Firefox有问题。我想在对话框窗口中下载没有确认的csv文件,并且我有如下代码:

fp = webdriver.FirefoxProfile()fp.set_preference("browser.download.folderList",2)fp.set_preference("browser.download.dir", download_dir)fp.set_preference("browser.download.manager.showWhenStarting",False)fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/csv")

但似乎不起作用。我尝试了与 browser.helperApps.neverAsk.saveToDisk的* 许多组合 *

fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/csv,application/csv,text/plan,text/comma-separated-values")

要么

fp.set_preference("browser.helperApps.neverAsk.saveToDisk","application/csv")fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/plain")fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/comma-separated-values")

但没有任何区别,Firefox也不会自动下载。我该如何解决?

答案1

小编典典

有时内容类型与您期望的不一样使用 HttpFox Firefox插件(或类似工具)查找文件的真实内容类型并在代码中使用它

顺便说一句,对我来说,内容类型是

fp.set_preference("browser.helperApps.neverAsk.openFile", "application/octet-stream");fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/octet-stream");

paycharm导入webdriver包报错:module ''selenium.webdriver'' has no attribute ''Firefox''

paycharm导入webdriver包报错:module ''selenium.webdriver'' has no attribute ''Firefox''

首先:试试看在cmd中试试输入from selenium import webdriver,看是否报错,看一看是不是pycharm的原因。经过确认,在dos窗口中输入导入包的命令并没有报错。最后我重现了一次步骤,原来是在pycharm中新建工程的时候出现问题了。

 

 

解决问题方法:

在pycharm中,新建工程,要勾选下面的两个东西。

Inherit global site-packages: 导入本地包

Make available to all projects : 使所有项目都可用

 

perl – 使用Firefox 26的Selenium Webdriver 2?

perl – 使用Firefox 26的Selenium Webdriver 2?

今天早上我用2.32和Firefox 25.0.1运行Selenium. Firefox更新到26.0,突然Selenium停止工作.它会弹出新的浏览器窗口,但只是坐在那里提示搜索或地址. Selenium是否有问题?它是否被Firefox地址栏中的新提示搞糊涂了?是否已经在较新的Selenium 2.3x中修复过?

在等待修复时,更改我的代码以使用Chrome或(yecch)IE10的最简单方法是什么?我想让我的测试代码可配置,以便我的小组中的其他人可以使用他们选择的浏览器(尤其是Chrome).我尝试通过在new()方法中添加’browser_name’=>’* chrome’来让Chrome工作,但它从未奏效.

顺便说一句,我使用的是Perl语言绑定(Selenium :: Remote :: Driver 0.17).

解决方法

尝试将selenium更新为2.38.0(撰写本文时为最新版本).我有类似的问题与firefox更新,然后按钮没有被点击和升级版本解决了它.希望这能解决它.

python+selenium webdriver.firefox()方式配置浏览器设置

python+selenium webdriver.firefox()方式配置浏览器设置

webdriver.firefox() 爬虫需求:  (其实是输入参数可获取.zip/pdf 文件,然后点击下载)

——但是firefox浏览器有Bug,点击下载之后会有弹出窗口,需要你点击确定,这怎么能成,所以

百度一把:得知需要修改firefox的配置文件mimeTypes.rdf

——搜索栏输入:about:support  配置文件夹—》打开文件夹—》获取文件地址

 

添加配置内容:

<RDF:Description RDF:about="urn:mimetype:application/zip"
NC:value="application/zip"
NC:editable="true"
NC:fileExtensions="zip"
NC:description="*.zip">
<NC:handlerProp RDF:resource="urn:mimetype:handler:application/zip"/>
</RDF:Description>

<RDF:Seq RDF:about="urn:mimetypes:root">
<RDF:li RDF:resource="urn:mimetype:application/zip"/>
</RDF:Seq>

=====现在下载不需要每次都点击了=====

但是:使用webdriver.firefox()时,程序调用的是一个全新的firefox,所以配置文件并没有起到作用

——程序中可添加FirefoxProfile文件来支持 (FirefoxProfile文件目录就是mimeTypes.rdf的上级目录)

def __init__(self):
self.url = ''+++++++++++++''
profile=webdriver.FirefoxProfile("C:\Users\用户名\AppData\Roaming\Mozilla\Firefox\Profiles\9a71bi5y.default")
self.browser = webdriver.Firefox(profile)

 

今天的关于以非超级用户身份从ruby在Xvfb内运行Selenium :: WebDriver :: Firefox非超级用户只能修改自己的口令的分享已经结束,谢谢您的关注,如果想了解更多关于Firefox + Selenium WebDriver并自动下载csv文件、paycharm导入webdriver包报错:module ''selenium.webdriver'' has no attribute ''Firefox''、perl – 使用Firefox 26的Selenium Webdriver 2?、python+selenium webdriver.firefox()方式配置浏览器设置的相关知识,请在本站进行查询。

本文标签: