案例1
当我尝试使用selenium驱动程序执行简单的python脚本时,我遇到了以下错误。
extension NSObject {
var dynamic_type : String {
get {
return String(describing: type(of: self))
}
}
}
当我运行此脚本时,我的Chrome会被打开,我会遇到异常,程序会自动停止
import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
class PythonOrgSearch(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome('C:\Program Files (x86)\Google\Chrome\Application\chrome.exe')
def test_search_in_python_org(self):
driver = self.driver
driver.get("http://www.python.org")
self.assertIn("Python", driver.title)
elem = driver.find_element_by_name("q")
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
def tearDown(self):
self.driver.close()
if __name__ == "__main__":
unittest.main()
注意:我已经安装了chrome驱动程序,
selenium.common.exceptions.WebDriverException: Message: Service C:\Program Files (x86)\Google\Chrome\Application\chrome.exe unexpectedly exited. Status code was: 0
答案 0 :(得分:0)
要使用selenium驱动程序执行简单的python脚本,您需要考虑以下几点:
在初始化webdriver
实例时,您不需要传递chrome
二进制位置。但是您必须传递chromedriver
二进制文件的位置,该位置可以从此link
下载并作为参数传递,如下所示:
driver = webdriver.Chrome(executable_path="C:\\path\\to\\chromedriver.exe")
而不是使用driver.close()
总是使用driver.quit()
,它会销毁webdriver
和Web Browser
实例,如下所示:
self.driver.quit()