Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Javascript函数通过Python在Selenium中打开URL_Javascript_Python_Selenium - Fatal编程技术网

如何使用Javascript函数通过Python在Selenium中打开URL

如何使用Javascript函数通过Python在Selenium中打开URL,javascript,python,selenium,Javascript,Python,Selenium,首先,很抱歉让人困惑的标题问题。我目前正在将一个浏览器自动化项目从iMacros迁移到Selenium Python。对于我以前的iMacros脚本,我一直在使用javascript函数打开url,因为它要快得多。下面是测试加载速度巨大差异的代码: SET !FOLDER_STOPWATCH C:\Users\Public\Documents SET !FILESTOPWATCH "Duration.txt" STOPWATCH ID=Javascriptey_mode URL GOTO=ja

首先,很抱歉让人困惑的标题问题。我目前正在将一个浏览器自动化项目从iMacros迁移到Selenium Python。对于我以前的iMacros脚本,我一直在使用javascript函数打开url,因为它要快得多。下面是测试加载速度巨大差异的代码:

SET !FOLDER_STOPWATCH C:\Users\Public\Documents
SET !FILESTOPWATCH "Duration.txt"

STOPWATCH ID=Javascriptey_mode
URL GOTO=javascript:window.open("http://cityplan2014maps.brisbane.qld.gov.au/CityPlan/");
STOPWATCH ID=Javascriptey_mode

STOPWATCH ID=Regular_mode
TAB OPEN
TAB T=3
URL GOTO="http://cityplan2014maps.brisbane.qld.gov.au/CityPlan/"
STOPWATCH ID=Regular_mode
不幸的是,我不知道为什么会发生这种情况,我假设能够使用类似的javascript方法在Selenium中打开URL将加快页面加载。Selenium的
driver.get(url)
命令并没有为我剪切它。我尝试使用Firefox配置文件,但没有任何效果。那么我该如何使用这个呢?我也对非javascript的ey解决方案持开放态度。另外,如果有人能向我解释为什么常规的iMacros
URL GOTO=(URL)
命令比Javascript-ey命令加载得慢,我将不胜感激:)

这可能没有什么价值,但以下是我在iMacros中使用的版本:

  • 火狐55.0.3
  • iMacros插件版本9.0.3
编辑:
已更新iMacros代码,以允许进行持续时间监控。我在我这边运行了三次,发现常规模式和Javascript ey模式之间平均相差43秒。

您可以这样执行js代码:

driver = webdriver.Chrome()
driver.get("http://google.com")
driver.execute_script("window.open('http://cityplan2014maps.brisbane.qld.gov.au/CityPlan/')")

您可以通过以下方式执行js代码:

driver = webdriver.Chrome()
driver.get("http://google.com")
driver.execute_script("window.open('http://cityplan2014maps.brisbane.qld.gov.au/CityPlan/')")

尝试
driver.execute\u脚本('window.open('http://cityplan2014maps.brisbane.qld.gov.au/CityPlan/)
Hi@andersson。谢谢你的建议。该命令将运行,但仍需要很长时间才能加载:(我不知道您看到了什么,但使用Selenium打开浏览器和设置URL并打开带有URL的选项卡应该没有什么区别。我打赌,如果您运行每个测试100次,平均速度将是相同的。@JeffC:差异非常大,大约43秒大:|。我将更新上面的iMacros代码以增加时间。)初始化检查。如果有人能在他们的终端上运行它来帮助我查看我是否缺少某些东西,这将非常有帮助尝试
driver.execute\u script('window.open('http://cityplan2014maps.brisbane.qld.gov.au/CityPlan/)
Hi@andersson。感谢您的建议。该命令可以运行,但仍然需要很长时间才能加载:(我不知道您看到了什么,但使用Selenium打开浏览器和设置URL并打开带有URL的选项卡应该没有什么区别。我打赌,如果您运行每个测试100次,平均速度将是相同的。@JeffC:差异非常大,大约43秒大:|。我将更新上面的iMacros代码以增加时间。)正在检查。如果有人可以在他们的一端运行它来帮助我查看是否有我遗漏的内容,这将非常有用。谢谢您的建议:)。我没有指出我更喜欢使用Firefox进行此项操作。但我确实使用chromedriver尝试了您的修复,问题仍然存在,即加载时间没有改善。实际问题是…为什么常规iMacros URL GOTO=(URL)与Selenium/Javascript相比,命令加载速度较慢…@DebanjanB不,实际问题在标题中…“如何使用Javascript函数通过Python在Selenium中打开URL”这是一个合理的答案。我得到:
TypeError:webdriver.Chrome不是一个函数
@bigEvilBanana:我刚刚回到这个项目,很高兴地说这是可行的!不确定上次测试时发生了什么。干杯!谢谢你的建议:)。我没有指出我更喜欢使用Firefox进行此项操作。但我确实使用chromedriver尝试了您的修复,问题仍然存在,即加载时间没有改善。实际问题是…为什么常规iMacros URL GOTO=(URL)与Selenium/Javascript相比,命令加载速度较慢…@DebanjanB不,实际问题在标题中…“如何使用Javascript函数通过Python在Selenium中打开URL”这是一个合理的答案。我得到:
TypeError:webdriver.Chrome不是一个函数
@bigEvilBanana:我刚刚回到这个项目,很高兴地说它是有效的!不确定上次测试时发生了什么。干杯!