我正在使用 sublime 来编写 python 脚本。以下代码是python中selenium使用webdriver_manager包自动安装驱动
# pip install webdriver-manager
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.maximize_window()
#s=Service(path)
#driver=webdriver.Chrome(service=s)
driver.get('https://www.google.com')
driver.find_element(By.NAME, 'q').send_keys('Yasser Khalil')
Run Code Online (Sandbox Code Playgroud)
代码工作正常,但我收到了这样的警告
Demo.py:7: DeprecationWarning: executable_path has been deprecated, please pass in a Service object
driver = webdriver.Chrome(ChromeDriverManager().install())
Run Code Online (Sandbox Code Playgroud)
如何修复这样的错误?
在Selenium 1.x或2.x中是否有任何方法可以滚动浏览器窗口,以便XPath识别的特定元素可以在浏览器中查看?Selenium中有一个焦点方法,但它似乎没有在FireFox中物理滚动视图.有没有人对如何做到这一点有任何建议?
我需要这个的原因是我正在测试页面上元素的点击.不幸的是,除非元素可见,否则事件似乎不起作用.我无法控制单击该元素时触发的代码,因此我无法对其进行调试或修改,因此,最简单的解决方案是将项目滚动到视图中.
我想确保在webdriver开始执行操作之前存在一个元素.
我正试图让这样的东西起作用:
WebDriverWait wait = new WebDriverWait(driver, new TimeSpan(0,0,5));
wait.Until(By.Id("login"));
Run Code Online (Sandbox Code Playgroud)
我主要是在努力设置如何设置任何功能..
我该如何验证我的XPath?
我正在使用Chrome Developers工具检查元素并形成我的XPath.我使用Chrome插件XPath Checker验证它,但它并不总能给我结果.什么是验证我的XPath的更好方法.
我也尝试使用Firebug来检查错误并使用FirePath进行验证.但Firepath还验证了XPath.
我的最后一个选择是使用Selenium WebDriver来确认我的XPath.
我最近将我的 mac 机器升级到 OS Catalina(v 10.15.3)。升级后,我无法使用 selenium 启动 chrome 驱动程序。
当我运行 selenium 代码来启动 chrome 浏览器时,我面临以下错误。
“无法打开“chromedriver”,因为无法验证开发人员”。“macOS 无法验证此应用程序是否没有恶意软件。”
请帮我!
我试过这个
WebDriver driver = new ChromeDriver();
Run Code Online (Sandbox Code Playgroud)
但我得到的错误是
测试失败:setUp(com.TEST):驱动程序可执行文件的路径必须由webdriver.chrome.driver系统属性设置; 有关更多信息,请参阅此处的代码.最新版本可以从Link下载
如何让Chrome测试Selenium-WebDriver测试用例?
有没有办法测试元素是否存在?任何findElement方法都会以异常结束,但这不是我想要的,因为它可能是一个元素不存在而且没关系,这不是测试的失败,因此异常不能成为解决方案.
我发现这篇文章:Selenium c#Webdriver:等到元素存在 但是这是C#而我不是很擅长.任何人都可以将代码翻译成Java吗?我很抱歉,我在Eclipse中尝试过但是我没有把它直接用到Java代码中.
这是代码:
public static class WebDriverExtensions{
public static IWebElement FindElement(this IWebDriver driver, By by, int timeoutInSeconds){
if (timeoutInSeconds > 0){
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(timeoutInSeconds));
return wait.Until(drv => drv.FindElement(by));
}
return driver.FindElement(by);
}
}
Run Code Online (Sandbox Code Playgroud) 我们正在使用Selenium来自动化我们的UI测试.最近我们看到大多数用户使用Chrome.所以我们想知道 - 使用PhantomJS和Selenium的利弊:
我需要从下拉菜单中选择一个元素.
例如,打开这个:
<select id="fruits01" class="select" name="fruits">
<option value="0">Choose your fruits:</option>
<option value="1">Banana</option>
<option value="2">Mango</option>
</select>
Run Code Online (Sandbox Code Playgroud)
所以首先我要点击它.我这样做:
inputElementFruits = driver.find_element_by_xpath("//select[id='fruits']").click()
Run Code Online (Sandbox Code Playgroud)(好吧,打开菜单)
Mango但它没有用.