如何让Selenium 2.0等待页面加载?
如何让Selenium 2.0等待页面加载?
我有一个应用程序,我想在纵向模式下使用,所以我已经定义了 android:screenOrientation=“portrait”在manifest XML中。这适用于HTC Magic手机(并防止方向变化的其他手机以及)。
但当我打开硬件QWERTY键盘(不是虚拟键盘)时,HTC G1手机遇到了一个问题。我的活动保持在肖像模式,但它似乎重新启动,失去了所有的状态。HTC Hero版本不会出现这种情况。
我的应用程序相当大,所以我不希望它在打开键盘时重新启动并失去所有状态。我该如何预防呢?
当我尝试连接mysql时,我得到以下错误:
无法通过套接字/var/lib/ MySQL / MySQL连接到本地MySQL服务器。袜子”(2)
有解决这个错误的方法吗?背后的原因可能是什么?
我需要从下拉菜单中选择一个元素。
例如:
<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>
1)首先我得点击它。我是这样做的:
inputElementFruits = driver.find_element_by_xpath("//select[id='fruits']").click()
2)之后,我必须选择好的元素,让我们说芒果。
我尝试用inputElementFruits.send_keys(…)来做,但它不起作用。
Java不允许我们这么做的原因是什么
private T[] elements = new T[initialCapacity];
我可以理解。net不允许我们这样做,因为在。net中,值类型在运行时可以有不同的大小,但在Java中,所有类型的T都将是对象引用,因此具有相同的大小(如果我错了请纠正我)。
原因是什么?
我是Android开发的新手。
我想创建并启动一个活动来显示关于游戏的信息。我显示这些信息,我需要一个gameId。
如何将这个游戏ID传递给活动?游戏ID是绝对必要的,所以我不想创建或启动活动,如果它没有ID。
就像活动只有一个构造函数和一个形参。
我该怎么做呢?
谢谢。
我试图用一个URL启动chrome浏览器,浏览器启动后,它什么也不做。
1分钟后我看到如下错误:
Unable to open browser with url: 'https://www.google.com' (Root cause: org.openqa.selenium.WebDriverException: unknown error: DevToolsActivePort file doesn't exist
(Driver info: chromedriver=2.39.562718 (9a2698cba08cf5a471a29d30c8b3e12becabb0e9),platform=Windows NT 10.0.15063 x86_64) (WARNING: The server did not provide any stacktrace information)
我的配置:
Chrome浏览器:66 ChromeBrowser: 2.39.56
又及,在Firefox中一切都很好
我来自iOS,它很简单,你只需要使用UIViewController。然而,在Android中,事情似乎要复杂得多,特定的API级别有特定的uiccomponent。我正在阅读BigNerdRanch for Android(这本书大约有2年的历史了),他们建议我使用Activity来托管我的FragmentActivities。然而,我认为活动是不赞成的。
那么对于API级别22(至少支持API级别15或16),我究竟应该使用什么来托管组件,以及组件本身呢?所有这些都有用处吗,还是我应该只使用其中一两个?
首先,我知道在Android上不应该真正地关闭/重启应用程序。在我的用例中,我想在服务器向客户机发送一条特定信息的特定情况下对应用程序进行工厂重置。
用户只能使用应用程序的一个实例在服务器上登录(即不允许多个设备)。如果另一个实例获得了“登录”锁,那么该用户的所有其他实例都必须删除他们的数据(工厂重置),以保持一致性。
强制获取锁是可能的,因为用户可能会删除应用程序并重新安装它,这将导致不同的实例id,用户将无法再释放锁。因此,可以强制获取锁。
由于这种强制的可能性,我们需要始终检查一个具体实例是否拥有锁。这是在(几乎)对服务器的每个请求上完成的。服务器可能会发送一个“错误的锁定id”。如果检测到这种情况,客户机应用程序必须删除所有内容。
这就是用例。
我有一个活动A,启动登录活动L或应用程序的主活动B,这取决于一个sharedPrefs值。在启动L或B之后,它关闭自己,以便只有L或B在运行。在用户已经登录的情况下,B正在运行。
B启动C, C调用startService为IntentService服务。
(a) > b > c > d
从D的onHandleIntent方法,一个事件被发送到ResultReceiver R。
R现在通过向用户提供一个对话框来处理该事件,在该对话框中,用户可以选择对应用程序进行工厂重置(删除数据库、sharedPrefs等)。
在工厂重置后,我想重新启动应用程序(关闭所有活动),只启动A,然后启动登录活动L并完成自己:
(a) > l
对话框的onclick方法是这样的:
@Override
public void onClick(DialogInterface dialog, int which) {
// Will call onCancelListener
MyApplication.factoryReset(); // (Deletes the database, clears sharedPrefs, etc.)
Intent i = new Intent(MyApp.getContext(), A.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
MyApp.getContext().startActivity(i);
}
这是MyApp类:
public class MyApp extends Application {
private static Context context;
@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
}
public static Context getContext() {
return context;
}
public static void factoryReset() {
// ...
}
}
问题是,如果我使用FLAG_ACTIVITY_NEW_TASK,活动B和C仍在运行。如果我点击登录活动的返回按钮,我看到C,但我想回到主屏幕。
如果我不设置FLAG_ACTIVITY_NEW_TASK我得到错误:
07-07 12:27:12.272: ERROR/AndroidRuntime(9512): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
我不能使用活动的上下文,因为ServiceIntent D也可能从一个由AlarmManager启动的后台任务中调用。
那么我如何解决这个问题,使活动堆栈变成(A) >l呢?
如何从Mac的命令行连接到MySQL ?(即给我看代码)
我正在做一个PHP/SQL教程,但它开始假设你已经在MySQL。