使用Selenium和python按部分ID选择元素?

使用Selenium和python按部分ID选择元素?,python,selenium,getelementbyid,Python,Selenium,Getelementbyid,我试图在Python 2.7中访问Selenium中的web元素。元素ID如下所示: cell.line.order(240686080).item(250444868).unitCost <td id="cell.line.order(240417939).item(250159165).unitCost" class="or_monetarydata"> <input id="input.line.order(240417939).item(250159165).

我试图在Python 2.7中访问Selenium中的web元素。元素ID如下所示:

cell.line.order(240686080).item(250444868).unitCost
<td id="cell.line.order(240417939).item(250159165).unitCost" class="or_monetarydata">
    <input id="input.line.order(240417939).item(250159165).unitCost" type="hidden" value="135.00" 
    name="order(240417939).item(250159165).unitcost"></input>

    135.00

    </td>
第一个数字字符串“240686080”已知,但第二个数字“250444868”事先未知

我试着用这样的方法达到它

from selenium import webdriver
driver = webdriver.Firefox()
driver.get("somewebsite.com")
driver.find_elements_by_id('input.line.order(240417939).item('+ '\d{9}'+').unitCost')
所以我的问题是,我们是否只能在部分ID已知的情况下搜索和访问这个元素

我发现下面回答了类似的问题,但答案是C。不幸的是,我不知道C

提前谢谢你

编辑4/8

元素的编码如下所示:

cell.line.order(240686080).item(250444868).unitCost
<td id="cell.line.order(240417939).item(250159165).unitCost" class="or_monetarydata">
    <input id="input.line.order(240417939).item(250159165).unitCost" type="hidden" value="135.00" 
    name="order(240417939).item(250159165).unitcost"></input>

    135.00

    </td>

谢谢大家!

虽然答案是C#,但通过使用CSS选择器,基本解决方案仍然是一样的:

driver.find_elements_by_css_selector('input[id*='cell.line.order(240686080)']')
或者XPath也可以做到这一点:

driver.find_elements_by_xpath('//*[contains(@id, 'cell.line.order(240686080)')]')

我可以使用第二种方法来获取列表,最后一种方法是我想要达到的。但是我无法使用[-1].get_属性(“value”)来获取value属性。你知道为什么吗?非常感谢。此项的源代码如下:135.00忘记它。我将“cell.line.order(240686080)”替换为“input.line.order(240686080)”,以获取所需信息。谢谢你@Arran:It's giving me imgLink=browser。通过“css”选择器(“img[id$='Image\u img'])查找元素^SyntaxError:invalid语法试图用“我找不到div.有什么想法吗?”?