如何将Python的Selenium WebDriver中的所有cookie保存到txt文件中,然后再加载它们?该文档没有说明getCookies函数的任何内容.
我正在尝试使用Java和Selenium WebDriver自动化一些测试用例.我有以下场景:
关闭弹出窗口后,我需要点击同一页面中的"添加项目"按钮.但是当WebDriver试图找到"添加项目"按钮时,如果互联网速度太快,WebDriver可以找到并单击该元素.
但是如果互联网很慢,WebDriver会在页面刷新之前找到按钮,但只要WebDriver单击该按钮,页面就会刷新并StaleElementReferenceException发生.
StaleElementReferenceException
发生之前.如果Thread.sleep(3000);在单击"添加项目"按钮之前使用测试用例,则工作正常.这个问题还有其他解决方法吗?
我现在正在学习Selenium,遇到了一个问题.
我知道Selenium默认支持旧的Firefox版本,没有驱动程序.对于最新版本的Firefox,我们必须下载驱动程序并使用它来定义它System.setProperty.
根据此链接,对于Firefox 45和46,启动驱动程序代码可能如下所示:
WebDriver driver = new FirefoxDriver();
Run Code Online (Sandbox Code Playgroud)
我的Firefox版本为45.5.1.但是上面的代码仍然不起作用.所以根据这个链接,我添加了:
System.setProperty("webdriver.firefox.marionette","C:\\geckodriver.exe");
它奏效了.
然后我意识到我没有安装geckodriver.exe在我的电脑上.要了解它是如何进行的,我已经更改为以下代码:
System.setProperty("webdriver.firefox.marionette","");
Run Code Online (Sandbox Code Playgroud)
它仍然有效.
所以,这是我的第一个问题:发生了什么?我确信geckodriver.exe在我的环境中不存在.如果没有指出位置,那我为什么要设置属性?
另外,我见过的代码如下:
System.setProperty("webdriver.gecko.driver", "/tools/marionette/wires.exe");
Run Code Online (Sandbox Code Playgroud)
我的第二个问题是,是什么样的区别webdriver.gecko.driver 和webdriver.firefox.marionette或wires.exe和geckodriver.exe?
selenium selenium-firefoxdriver selenium-webdriver firefox-marionette geckodriver
我是阅读手册的大力倡导者.但在这种情况下,尽管在网上搜索了一段时间,但我找不到解释所有可用ChromeOptions参数的手册.某处必须列出所有字符串参数及其含义.
例如,以下是我通过示例绊倒发现的一些内容:
var options = new ChromeOptions();
options.AddArgument("incognito");
options.AddArguments("test-type");
Run Code Online (Sandbox Code Playgroud)
有人可以指导我上市吗?我正在使用C#4.6,Selenium 2.45.
我在使用适用于Selenium的Chrome驱动程序时遇到问题.我已将chromedriver下载并保存到C:\ Chrome:
driver = webdriver.Chrome(executable_path="C:/Chrome/")
Run Code Online (Sandbox Code Playgroud)
使用它给我以下错误:
Traceback (most recent call last):
File "C:\Python33\lib\subprocess.py", line 1105, in _execute_child
startupinfo)
PermissionError: [WinError 5] Access is denied
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Python33\lib\site-packages\selenium\webdriver\chrome\service.py", line 63, in start
self.service_args, env=env, stdout=PIPE, stderr=PIPE)
File "C:\Python33\lib\subprocess.py", line 817, in __init__
restore_signals, start_new_session)
File "C:\Python33\lib\subprocess.py", line 1111, in _execute_child
raise WindowsError(*e.args)
PermissionError: [WinError 5] Access is denied
During handling of the above exception, another exception occurred:
Traceback …Run Code Online (Sandbox Code Playgroud) 我想使用Selenium WebDriver和Java验证文件下载.要下载的文件是PDF格式.当WebDriver点击AUT中的"下载"链接时,Firefox会打开以下下载确认窗口:
我希望Firefox自动下载文件而不显示上面的确认窗口,所以我使用了以下代码:
FirefoxProfile firefoxProfile=new FirefoxProfile();
firefoxProfile.setPreference("browser.download.folderList",2);
firefoxProfile.setPreference("browser.download.manager.showWhenStarting",false);
firefoxProfile.setPreference("browser.download.dir",downloadPath);
firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk","application/pdf");
WebDriver driver=new FirefoxDriver(firefoxProfile);
Run Code Online (Sandbox Code Playgroud)
但仍然Firefox显示相同的窗口.如何设置Firefox配置文件以便自动下载PDF文件而不显示确认对话框?
我有一个包含宏的Excel文件(Main.xlsm).我有一个Python文件(python.py)来生成一个辅助Excel文件(sub.xlsx),我将在Main.xlsm文件的宏中进一步调用它.这个由python.py运行生成的sub.xlsx文件保存在同一个工作目录中.
现在,我想使这个python.py的Main.xlsm宏的运行过程中被执行,然后使用这个XLSX文件.我基本上想要减少外部执行python.py的步骤.那是否有命令?我是VBA的新手.
当我推出Selenium的WebDriver(Chromedriver)时.控制台窗口(chromedriver.exe)运行并打开Chrome.我需要知道如何隐藏那些像静音模式,因为当太多打开时我会变得混乱.我正在使用C#.
我selenium用来点击我想要的网页,然后使用解析网页Beautiful Soup.
有人已经展示了如何获取元素的内部HTMLSelenium WebDriver.有没有办法获取整个页面的HTML?谢谢
示例代码Python
(基于上面的帖子,语言似乎并不重要):
from selenium import webdriver
from selenium.webdriver.support.ui import Select
from bs4 import BeautifulSoup
url = 'http://www.google.com'
driver = webdriver.Firefox()
driver.get(url)
the_html = driver---somehow----.get_attribute('innerHTML')
bs = BeautifulSoup(the_html, 'html.parser')
Run Code Online (Sandbox Code Playgroud) 相当于:
driver.get_cookies()
获取LocalStorage而不是Сookies?
python selenium local-storage selenium-chromedriver selenium-webdriver
selenium ×5
python ×4
c# ×2
java ×2
excel ×1
excel-vba ×1
geckodriver ×1
python-3.3 ×1
python-3.x ×1
vba ×1
webdriver ×1