PythonSelenium是一种简单的方法,它可以映射出带有子元素的ul,并对其进行编程,以便根据用户输入选择正确的ul

PythonSelenium是一种简单的方法,它可以映射出带有子元素的ul,并对其进行编程,以便根据用户输入选择正确的ul,python,html,selenium,Python,Html,Selenium,我正在尝试制作一个python程序,它可以根据网站提供的类别来选择类别。我希望用户在程序启动前选择一个类别,然后selenium自动选择它。例如我们有 <ul> <li><a>Blah Parent</a> <ul> <a>Blah Child 1</a> <li><a>option 1</a>&

我正在尝试制作一个python程序,它可以根据网站提供的类别来选择类别。我希望用户在程序启动前选择一个类别,然后selenium自动选择它。例如我们有

<ul>

    <li><a>Blah Parent</a>
        <ul>
            <a>Blah Child 1</a>
                <li><a>option 1</a></li>
                <li><a>option 2</a></li>
            <a>Blah Child 2</a>
                <li><a>option 3</a></li>
                <li><a>option 4</a></li>
            <a>Blah Child 3</a>
                <li><a>option 5</a></li>
                <li><a>option 6</a></li>
        </ul>
    </li>
</ul>
  • 无聊的父母
      胡说八道的孩子1
    • 选择1
    • 选择2
    • 无聊的孩子2
    • 选择3
    • 选择4
    • 胡说八道的孩子3
    • 备选案文5
    • 备选案文6

是否有一种通过python selenium编写代码的简单方法,或者我必须手动编写代码?我真的不想手动编码,因为这将是成千上万的子链接,这将需要很多时间

你试着选择什么?使用
xpath
您可以通过文本进行选择-即
xpath('//a[contains(text(),“option 3”].
。因为
xpath
是一个字符串,所以您可以将其格式化为任何其他字符串-使用
%
.format()
f“
我知道这一点。我试图避免的是为每个选项生成一行代码。我们在这里讨论的是数千个类别,这需要编写很多代码。必须有一种更简单的方法。但是您说您从用户处获取类别-所以将其放在xpath中(使用
%
.format()
f”“
)您将只有一行。即。
'//a[contains(text(),“{}]”。格式(用户输入)
BTW:如果您仍然需要长代码,那么就编写Python脚本来生成此代码,而不必手动生成。您尝试选择什么?使用
xpath
可以通过文本进行选择-即。
xpath('//a[contains(text(),“option 3”]“
。因为
xpath
是一个字符串,所以可以将其格式化为任何其他字符串-使用
%
.format()
f”
我知道这一点。我试图避免的是为每个选项生成一行代码。我们在这里讨论的是数千个类别,这需要编写很多代码。必须有一种更简单的方法。但是您说您从用户处获取类别-所以将其放在xpath中(使用
%
.format()
f”“
)您将只有一行。即。
'//a[contains(text(),“{}]”。format(user_input)
BTW:如果您仍然需要长代码,那么就编写Python脚本来生成此代码,而不必手动执行。