我有一个带有div标记的HTML,它有一个ID属性。ID值是动态的。我已经构建了一个XPATH来定位ID属性,并将其值获取到一个变量中。我可以将值打印到控制台吗?我想知道变量的值是多少。
我尝试打印以下值,但出现错误:我尝试了:
print id.text
print id.get_attribute("id")
错误包括:
AttributeError: 'unicode' object has no attribute 'get_attribute'
AttributeError: 'unicode' object has no attribute 'text'
Selenium Python代码是:
element = self.driver.find_element(By.XPATH, '//*[starts-with(@id,"operations_add_process_list_task")]//span//button')
id = element.get_attribute("id")
print id.text
XPATH是:
(By.XPATH, '//*[starts-with(@id,"operations_add_process_list_task")]//span//button')
超文本标记语言是:
<div id="operations_add_process_list_task_2">
<span/>
<span>
<span class="myinlineblock" title="Clean"
style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;empty-cells:show;">
<select tabindex="-1">
</span>
</span>
<span>
<span class="" title="Turn group off or on." style="">
<input type="checkbox" checked="" tabindex="-1"/>
</span>
</span>
<span>
<button class="gwt-Button" title="Add the tasks to the selected group." style="display:block;" type="button">Add tasks
</button>
</span>
</div>
一旦我知道值是什么,我就可以使用下一个定位器的ID。
select = Select(WebDriverWait(self.driver, 20).until(EC.element_to_be_clickable((By.XPATH, '//div[@id="%s"]/span[2]//select' % id))))
谢了Riaz
或者,您可以将XPath更改为如下所示,以返回带有id
的元素,该元素还包含按钮
元素:
//*[starts-with(@id,"operations_add_process_list_task")][.//span//button]
或者,如果跨度是具有目标id
的元素的直接子节点,则您可能希望使用子节点
轴而不是//
,因为前者会稍微更有效:
//*[starts-with(@id,"operations_add_process_list_task")][span/button]
假设下面的代码: 加载此图像时,它会将自身打印到控制台,但输出是一个 HTML 元素,如下所示: <代码> 当我希望它像其他JavaScript对象一样打印时,类似于: 有没有办法强迫它像这样打印?
问题内容: 我的C程序粘贴在下面。在bash中,程序打印“ char is”,不打印Ω。我的语言环境均为en_US.utf8。 问题答案: 这很有趣。显然,编译器将omega从UTF-8转换为UNICODE,但libc某种程度上将其弄乱了。 首先:-format说明符期望一个(即使在wprintf -version 中也是如此),因此您必须指定(并因此指定字符串)。 其次,如果您像这样将语言环境设
我正在使用Windows上的Eclipse IDE(氧气)学习Java(SE8)。我以前做过一些“业余”编程,但这是我第一次正式上这门课。我希望能够在普通控制台(System.out.println)中打印分配所需的输出,并同时在不同的控制台中打印正在发生的信息文本。 printToConsole1(“普通程序输出”);printToConsole2(“幕后信息”); 我可以在Java中做类似的事
我真的被困在作业的这一特定部分,它要求我将简单文本打印到控制台中,然后创建一个文件(无论主文件中的std::string文件名是什么),并将控制台的内容打印到该文件中。 我真的很困惑,因为该函数需要ostream,而且它还需要该函数使用任何文件名(在本例中是statistics.txt,只是为了测试该函数是否工作)。 函数是PrintStatistics。 我知道我可以使用cout在控制台上打印,
你可以使用printf将消息打印到控制台,从而知道应用程序是如何运行的。这是调试代码的很有用的手段,因为你可以打印变量的值、知道什么时候代码将阻塞等等。 我们尝试使用函数unsigned char leds_get(void);打印LED的状态。 获取LED的状态,并将其打印到屏幕。修改test-leds.c如下: #include "contiki.h" #include "dev/leds.h
问题内容: 我想获得的的通过启动到控制台。如何才能做到这一点? 这是一些不完整的代码: 问题答案: 我最近遇到了这个问题,只想提及自从Java 7以来,流程构建器api已得到扩展。现在可以使用以下方法解决此问题: