我正在尝试进行自动化操作,并碰到了中间。 无法从子菜单中选择选项。
尝试了所有解决方案,从堆栈溢出,什么都不起作用。
附加代码。
<input id="arid_WIN_0_2000053" class="text " readonly="" style="top: 0px; left: 0px; width: 72px; height: 21px;" title="Screen" type="text">
这是我需要单击的ID,因此出现一个下拉列表。
来自不同的部分,代码是
<table class="MenuTable" style="width: 93px;" cellspacing="0" cellpadding="0">
<tbody class="MenuTableBody">
<tr class="MenuTableRow">
<td class="MenuEntryName" nowrap="">Screen</td>
<td class="MenuEntryNoSub" arvalue="Screen"></td>
</tr>
<tr class="MenuTableRow">
<td class="MenuEntryName" nowrap="">File</td>
<td class="MenuEntryNoSub" arvalue="File"></td>
</tr>
<tr class="MenuTableRow">
<td class="MenuEntryName" nowrap="">Printer</td>
<td class="MenuEntryNoSub" arvalue="Printer"></td>
</tr>
<tr class="MenuTableRow">
<td class="MenuEntryNameHover" nowrap="">(clear)</td>
<td class="MenuEntryNoSubHover" arvalue=""></td>
</tr>
</tbody>
</table>
选择ID arid_WIN_0_2000053
后,我需要选择“文件”选项。
谢谢。
答案 0 :(得分:0)
用作CSS定位符:.MenuTableRow:nth-of-type(2) .MenuEntryName
答案 1 :(得分:0)
根据 HTML 选择一个选项,例如从子菜单中文件,您可以使用以下解决方案之一:
from typing import NamedTuple
class MyType(NamedTuple):
id: int = 0
name: str = 0
或
driver.find_element_by_xpath("//input[@class='text' and @title='Screen'][starts-with(@id,'arid_WIN_0_')]").click()
driver.find_element_by_xpath("//table[@class='MenuTable']//tr[@class='MenuTableRow']//td[@class='MenuEntryName' and contains(.,'File')]").click()